Automatic date update in version.in
[binutils-gdb.git] / gdb / ChangeLog-2017
blob9c66577fe238bf8e755bfd0abe63184d1953e88c
1 2017-12-31  Ruslan Kabatsayev  <b7.10110111@gmail.com>
3         * psymtab.c (recursively_search_psymtabs): Use pointer arithmetic
4         instead of dereferencing std::vector past the end.
6 2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
8         * common/diagnostics.h
9         (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Only
10         define if the compiler knows about -Wenum-compare-switch.
12 2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
14         * dwarf2read.c (dwarf_decode_macro_bytes): Ignore
15         -Wenum-compare-switch warning.
16         (dwarf_decode_macros): Likewise.
18 2017-12-30  Tom Tromey  <tom@tromey.com>
19             Simon Marchi  <simon.marchi@ericsson.com>
21         * stap-probe.h (struct stap_parse_info): Add constructor,
22         destructor.
23         * stap-probe.c (stap_parse_argument): Update.
24         * rust-exp.y (rust_lex_tests): Update.
25         * parser-defs.h (struct parser_state): Add constructor,
26         destructor, release method.
27         <expout>: Change type to expression_up.
28         (null_post_parser): Change type.
29         (initialize_expout, reallocate_expout): Remove.
30         * parse.c (parser_state::parser_state): Rename from
31         initialize_expout.
32         (parser_state::release): Rename from reallocate_expout.
33         (write_exp_elt, parse_exp_in_context_1, increase_expout_size):
34         Update.
35         (null_post_parser): Change type of "exp".
36         * dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
37         * ada-lang.c (resolve, resolve_subexp)
38         (replace_operator_with_call): Change type of "expp".
39         * language.h (struct language_defn) <la_post_parser>: Change type
40         of "expp".
42 2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
44         * dwarf2read.c (struct mapped_debug_names): Make final.
45         (struct mapped_index): Make final.
47 2017-12-29  Simon Marchi  <simon.marchi@ericsson.com>
49         * common/diagnostics.h
50         (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): New macro.
51         * amd64-linux-tdep.c (amd64_canonicalize_syscall): Use it.
53 2017-12-29  Simon Marchi  <simon.marchi@ericsson.com>
55         * linux-thread-db.c (thread_db_detach): Remove call to
56         delete_thread_db_info.
58 2017-12-28  Simon Marchi  <simon.marchi@polymtl.ca>
60         * target.h (enum target_object) <TARGET_OBJECT_HPUX_UREGS,
61         TARGET_OBJECT_HPUX_SOLIB_GOT>: Remove.
63 2017-12-27  Franck Jullien  <franck.jullien@gmail.com>
64             Stafford Horne  <shorne@gmail.com>
66         * target-descriptions.c (tdesc_register_in_reggroup_p): Support
67         arbitrary strings.
68         (tdesc_use_registers): Add logic to register new reggroups.
69         (tdesc_reg::group): Update comment to indicate we allow
70         arbitrary strings.
71         * NEWS (Changes since GDB 8.0): Announce that GDB supports
72         arbitrary reggroups.
74 2017-12-27  Stafford Horne  <shorne@gmail.com>
76         * reggroups.c (reggroup_gdbarch_new): New function.
77         (reggroup_find): New function.
78         * reggroups.h (reggroup_gdbarch_new): New function.
79         (reggroup_find): New function.
81 2017-12-27  Stafford Horne  <shorne@gmail.com>
83         * reggroups.c (reggroups_init): Change to depend only on
84         obstack rather than gdbarch.
85         (reggroup_add): Remove logic for forcing premature init.
86         (_initialize_reggroup): Set `reggroups_data` with
87         gdbarch_data_register_pre_init() rather than
88         gdbarch_data_register_post_init().
90 2017-12-27  Stafford Horne  <shorne@gmail.com>
92         * infcmd.c (_initialize_infcmd): Add help for info reg $reggroup
93         and info all-registers $reggroup feature.
95 2017-12-23  Simon Marchi  <simon.marchi@polymtl.ca>
97         * target-descriptions.c (print_c_tdesc)
98         <printf_field_type_assignment>: Add ATTRIBUTE_PRINTF.
100 2017-12-21  Simon Marchi  <simon.marchi@ericsson.com>
101             Sergio Durigan Junior  <sergiodj@redhat.com>
103         * target-descriptions.c (print_c_tdesc) <visit>: Don't output
104         field_type declaration, use printf_field_type_assignment
105         instead.
106         <printf_field_type_assignment>: New method.
107         * features/aarch64-core.c, features/aarch64-fpu.c
108         features/arc-arcompact.c, features/arc-v2.c,
109         features/arm/arm-with-iwmmxt.c, features/i386/32bit-core.c,
110         features/i386/32bit-mpx.c, features/i386/32bit-sse.c,
111         features/i386/64bit-avx512.c, features/i386/64bit-core.c,
112         features/i386/64bit-mpx.c, features/i386/64bit-sse.c,
113         features/i386/x32-core.c, features/or1k.c,
114         features/rs6000/powerpc-7400.c,
115         features/rs6000/powerpc-altivec32.c,
116         features/rs6000/powerpc-altivec32l.c,
117         features/rs6000/powerpc-altivec64.c,
118         features/rs6000/powerpc-altivec64l.c,
119         features/rs6000/powerpc-cell32l.c,
120         features/rs6000/powerpc-cell64l.c,
121         features/rs6000/powerpc-isa205-altivec32l.c,
122         features/rs6000/powerpc-isa205-altivec64l.c,
123         features/rs6000/powerpc-isa205-vsx32l.c,
124         features/rs6000/powerpc-isa205-vsx64l.c,
125         features/rs6000/powerpc-vsx32.c,
126         features/rs6000/powerpc-vsx32l.c,
127         features/rs6000/powerpc-vsx64.c,
128         features/rs6000/powerpc-vsx64l.c, features/s390-gs-linux64.c,
129         features/s390-tevx-linux64.c, features/s390-vx-linux64.c,
130         features/s390x-gs-linux64.c, features/s390x-tevx-linux64.c,
131         features/s390x-vx-linux64.c: Re-generate.
133 2017-12-20  Uros Bizjak  <ubizjak@gmail.com>
135         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Remove
136         write-only assignment to "insn" variable.
138 2017-12-20  Ulrich Weigand  <uweigand@de.ibm.com>
140         * spu-tdep.c (spu_gdbarch_init): Set set_gdbarch_significant_addr_bit
141         to 64 bits.
142         (ppc_linux_init_abi): Likewise, if Cell/B.E. is supported.
144 2017-12-18  Joel Brobecker  <brobecker@adacore.com>
146         * ada-lang.c (ada_to_fixed_type_1): Rethrow errors with
147         a more detailed exception message when getting an exception
148         while trying to read the value of an XVZ variable.
149         * ada-valprint.c (ada_val_print): Only catch RETURN_MASK_ERROR
150         exceptions.  Print an error message when an exception is caught.
152 2017-12-18  Joel Brobecker  <brobecker@adacore.com>
154         * ada-lang.c (assign_component): Strip any TYPE_CODE_TYPEDEF
155         layer from lhs' type.
156         (assign_aggregate): Likewise.
158 2017-12-18  Xavier Roirand  <roirand@adacore.com>
160         * ada-lang.c (ada_convert_actual): Change the way actual value
161         are passed to the inferior when the inferior expects a pointer type.
163 2017-12-17  Stafford Horne  <shorne@gmail.com>
165         * or1k-tdep.c (show_or1k_debug): Fix function parameter alignment.
166         (or1k_analyse_inst): Likewise.
167         (or1k_single_step_through_delay): Likewise.
168         (or1k_frame_cache): Fix parameter alignment and use paddress()
169         instead of %x.
171 2017-12-17  Stafford Horne  <shorne@gmail.com>
173         * NEWS (Changes since GDB 8.0): Mention new or1k target and new
174         commands to set/show or1k debug.
176 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
178         * typeprint.c (whatis_exp): Fix ARI warning and reindent "if"
179         condition.
181 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
182             Pedro Alves  <palves@redhat.com>
184         PR cli/16224
185         * NEWS (Changes since GDB 8.0): Mention new '/o' flag.
186         * c-typeprint.c (OFFSET_SPC_LEN): New define.
187         (c_type_print_varspec_prefix): New argument 'struct
188         print_offset_data *'.
189         (c_type_print_base_1): New function and prototype.
190         (c_print_type_1): New function, with code from 'c_print_type'.
191         (c_print_type): Use 'c_print_type_1'.
192         (c_type_print_varspec_prefix): New argument 'struct
193         print_offset_data *'.  Use it.  Call 'c_type_print_base_1'
194         instead of 'c_print_type_base'.
195         (print_spaces_filtered_with_print_options): New function.
196         (output_access_specifier): Take new argument FLAGS.  Modify
197         function to call 'print_spaces_filtered_with_print_options'.
198         (c_print_type_vtable_offset_marker): New function.
199         (c_print_type_union_field_offset): New function.
200         (c_print_type_struct_field_offset): New function.
201         (c_print_type_no_offsets): New function.
202         (c_type_print_base_struct_union): New argument 'struct
203         print_offset_data *'.  Print offsets and sizes for
204         struct/union/class fields.
205         * typeprint.c (const struct type_print_options
206         type_print_raw_options): Initialize 'print_offsets'.
207         (static struct type_print_options default_ptype_flags):
208         Likewise.
209         (struct print_offset_data print_offset_default_data): New
210         variable.
211         (whatis_exp): Handle '/o' option.
212         (_initialize_typeprint): Add '/o' flag to ptype's help.
213         * typeprint.h (struct print_offset_data): New struct.
214         (struct type_print_options) <print_offsets>: New field.
216 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
218         * c-typeprint.c (need_access_label_p): New function.
219         (c_type_print_base_struct_union): New function.
220         (c_type_print_base): Move code to handle
221         TYPE_CODE_{STRUCT,UNION} to the functions mentioned above.
223 2017-12-15  Richard Henderson  <rth@redhat.com>
224             Uros Bizjak  <ubizjak@gmail.com>
226         PR gdb/19061
227         * alpha-tdep.c (alpha_software_single_step): Call
228         alpha_deal_with_atomic_sequence here.
229         (set_gdbarch_software_single_step): Set to
230         alpha_software_single_step.
231         * nat/linux-ptrace.h [__alpha__]: Define GDB_ARCH_IS_TRAP_BRKPT
232         and GDB_ARCH_IS_TRAP_HWBKPT.
234 2017-12-15  Yao Qi  <yao.qi@linaro.org>
236         * unittests/memory-map-selftests.c: Wrap test with HAVE_LIBEXPAT.
238 2017-12-15  Xavier Roirand  <roirand@adacore.com>
240         * ada-lang.c (ada_value_primitive_field): Handle field search
241         in case of homonyms.
242         (find_struct_field): Ditto.
243         (ada_search_struct_field): Ditto.
244         (ada_value_struct_elt): Ditto.
245         (ada_lookup_struct_elt_type): Ditto.
247 2017-12-14  Simon Marchi  <simon.marchi@ericsson.com>
249         * python/py-breakpoint.c (bppy_init): Use 'O' format specifier
250         for "qualified" and use PyObject_IsTrue.
252 2017-12-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
254         * dwarf2read.c (dw2_debug_names_iterator::next): Support
255         DW_IDX_type_unit.
256         (debug_names::dwarf5_offset_size, unit_kind): New.
257         (debug_names::insert): Add parameter kind.
258         (debug_names::build): Support DW_IDX_type_unit.
259         (debug_names::recursively_write_psymbols): Update
260         (debug_names::write_psymbols caller.
261         (debug_names::write_one_signatured_type_data)
262         (debug_names::write_one_signatured_type): New.
263         (debug_names::index_key, debug_names::symbol_value)
264         (debug_names::write_psymbols): Add kind.
265         (debug_names::write_one_signatured_type): New.
266         (write_debug_names): Move dwarf5_offset_size to debug_names.
267         Use debug_names::write_one_signatured_type for type units.
269 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
271         * ada-lang.c (ada_value_equal): Add handling of typedef types
272         when comparing array objects.
274 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
276         * ada-tasks.c (read_atcb): Properly set task_info->ptid
277         when !target_has_execution as well.
278         (task_command): Remove error when !target_has_execution.
280 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
282         * location.h (string_to_event_location): Add match_type
283         parameter.
284         * location.c (string_to_event_location): Likewise.
285         * python/py-breakpoint.c (bppy_init): Handle qualified
286         parameter.
288 2017-12-13  Pedro Alves  <palves@redhat.com>
290         * completer.c (completion_tracker::maybe_add_completion): New
291         'text' and 'word' parameters.  Use make_completion_match_str.
292         (completion_tracker::add_completion): New 'text' and 'word'
293         parameters.  Pass down.
294         (completion_tracker::recompute_lowest_common_denominator): Change
295         parameter type to gdb::unique_xmalloc_ptr rval ref.  Adjust.
296         * completer.h (completion_tracker::add_completion): New 'text' and
297         'word' parameters.
298         (completion_tracker::recompute_lowest_common_denominator): Change
299         parameter type to gdb::unique_xmalloc_ptr rval ref.
300         (completion_tracker::recompute_lowest_common_denominator): Change
301         parameter type to gdb::unique_xmalloc_ptr rval ref.
302         * symtab.c (completion_list_add_name): Pass down 'text' and 'word'
303         as well.
305 2017-12-13  Pedro Alves  <palves@redhat.com>
307         * cli/cli-decode.c (complete_on_cmdlist, complete_on_enum): Use
308         make_completion_match_str.
309         * completer.c: Use gdb::unique_xmalloc_ptr and
310         make_completion_match_str.
311         (make_completion_match_str_1): New.
312         (make_completion_match_str(const char *, const char *,
313         const char *)): New.
314         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
315         const char *, const char *)): New.
316         * completer.h (make_completion_match_str(const char *,
317         const char *, const char *)): New.
318         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
319         const char *, const char *)): New.
320         * interps.c (interpreter_completer): Use make_completion_match_str.
321         * symtab.c (completion_list_add_name, add_filename_to_list): Use
322         make_completion_match_str.
324 2017-12-13  Stafford Horne  <shorne@gmail.com>
326         * or1k-tdep.c (or1k_analyse_inst): Use _() wrapper for message
327         strings.
328         (or1k_unwind_pc): Use paddress() instead of %p.
329         (or1k_unwind_sp): Likewise.
330         (or1k_frame_cache): Use host_address_to_string()/paddress()
331         instead of %p and use _() wrapper for message strings.
333 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
335         * contrib/ari/gdb_ari.sh: Fix typo in help.
337 2017-12-13  Joel Brobecker  <brobecker@adacore.com>
339         * event-top.c (handle_line_of_input): Set server_command.
341 2017-12-12  Stafford Horne  <shorne@gmail.com>
342             Stefan Wallentowitz  <stefan@wallentowitz.de>
343             Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
344             Franck Jullien  <franck.jullien@gmail.com>
345             Jeremy Bennett  <jeremy.bennett@embecosm.com>
347         * configure.tgt: Add targets for or1k and or1knd.
348         * or1k-tdep.c: New file.
349         * or1k-tdep.h: New file.
350         * features/Makefile: Add or1k.xml to build.
351         * features/or1k.xml: New file.
352         * features/or1k-core.xml: New file.
353         * features/or1k.c: Generated.
355 2017-12-12  Alan Modra  <amodra@gmail.com>
357         PR tdep/22576
358         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
359         PLT offset, and retrieve r2 from stack when executing in reverse.
360         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
361         rather than PLT address.
362         (ppc64_standard_linkage2_target): Likewise.
363         (ppc64_standard_linkage3_target): Likewise.
364         (ppc64_standard_linkage4_target): Likewise.
365         (ppc64_skip_trampoline_code_1): Adjust to suit.
367 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
369         PR gdb/22556
370         * remote.c (remote_thread_name): Return NULL if name is empty.
371         (remote_threads_extra_info): Return NULL if extra info is empty.
373 2017-12-11  Pedro Alves  <palves@redhat.com>
375         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
376         (elf_sym_fns_debug_names): Move to elfread.c.
377         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
378         instead of a sym_fns and add 'index_kind' output parameter.  Fill
379         the latter in with the index variant kind if using an index.
380         (enum dw_index_kind): Moved to symfile.h.
381         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
382         (elf_sym_fns_lazy_psyms): Move from defs.h.
383         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
384         interface.
385         * symfile.h (enum class dw_index_kind): New, moved from
386         dwarf2read.c.
387         (dwarf2_initialize_objfile): Change prototype.
389 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
391         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
392         instead of mpfr_set_si to convert mantissa bits.
394 2017-12-11  Xavier Roirand <roirand@adacore.com>
395             Joel Brobecker  <brobecker@adacore.com>
397         * ada-lang.c (ada_tag_value_at_base_address): Change the way
398         tagged type base address is computed.
399         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
400         New enumerate.
401         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
402         element of lai->primitive_type_vector.
404 2017-12-08  Pedro Alves  <palves@redhat.com>
406         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
407         mapped_index_base.
408         (check_match): Adjust to use mock_index directly.
409         (check_find_bounds_finds)
410         (test_mapped_index_find_name_component_bounds): Adjust to work
411         with a mapped_index_base.
413 2017-12-08  Pedro Alves  <palves@redhat.com>
415         * dwarf2read.c (struct mapped_index_base): New, partially factored
416         out from ...
417         (struct mapped_index): ... this.  Inherit mapped_index_base.
418         (mapped_index::symbol_name_slot_invalid):
419         (mapped_index::symbol_name_at): Add override marker.
420         (mapped_index::symbol_name_count): New.
421         (struct mapped_debug_names): Inherit mapped_index_base.
422         (mapped_debug_names::symbol_name_at): New.
423         (mapped_debug_names::symbol_name_count): New.
424         (mapped_index::find_name_components_bounds): Rename to ...
425         (mapped_index_base::find_name_components_bounds): ... this.
426         (mapped_index::build_name_components): Rename to ...
427         (mapped_index_base::build_name_components): ... this.  Adjust to
428         use mapped_index_base::symbol_name_count and
429         mapped_index_base::symbol_name_slot_invalid.
430         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
431         instead of a mapped_index.  Use
432         dw2_expand_symtabs_matching_symbol.
434 2017-12-08  Pedro Alves  <palves@redhat.com>
436         * dwarf2read.c (mapped_index::symbol_table_slot): New.
437         (mapped_index::address_table): Now a gdb::array_view of const
438         gdb_byte.
439         (mapped_index::symbol_table): Now a gdb::array_view of
440         symbol_table_slot.
441         (mapped_index::address_table_size)
442         (mapped_index::symbol_table_slots): Delete.
443         (create_addrmap_from_index): Adjust.
444         (find_slot_in_mapped_hash): Adjust.
445         (read_index_from_section): Adjust.
446         (dwarf2_read_index): Adjust.
448 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
449             Pedro Alves  <palves@redhat.com>
451         * defs.h (elf_sym_fns_debug_names): New declaration.
452         * dwarf2read.c: Include "hash_enum.h".
453         (mapped_debug_names): New.
454         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
455         debug_names_table.
456         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
457         (struct dwz_file): Add debug_names.
458         (dwarf2_per_objfile::locate_sections): Handle debug_names and
459         debug_aranges.
460         (locate_dwz_sections): Handle debug_names.
461         (create_signatured_type_table_from_debug_names)
462         (create_addrmap_from_aranges): New.
463         (dwarf2_read_index): Update function comment.
464         (dwarf5_augmentation): Moved up.
465         (read_debug_names_from_section, create_cus_from_debug_names_list)
466         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
467         (dwarf5_djb_hash): Moved up.
468         (dw2_debug_names_iterator): New.
469         (read_indirect_string_at_offset): New declaration.
470         (mapped_debug_names::namei_to_name)
471         (dw2_debug_names_iterator::find_vec_in_debug_names)
472         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
473         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
474         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
475         New.
476         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
477         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
478         (debug_names::build): Update djb_hash caller.
479         (write_debug_names): Move out and rename augmentation to
480         dwarf5_augmentation.
481         * elfread.c (elf_sym_fns_debug_names): New.
482         * psymtab.h (dwarf2_debug_names_functions): New declaration.
483         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
484         debug_aranges.
485         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
487 2017-12-08  Pedro Alves  <palves@redhat.com>
489         * common/hash_enum.h: New file.
491 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
493         * dwarf2read.c (create_cu_from_index_list): New from ...
494         (create_cus_from_index_list): ... this function, use it.
495         (dw_expand_symtabs_matching_file_matcher)
496         (dw2_expand_symtabs_matching_one): New from ...
497         (dw2_expand_symtabs_matching): ... this function, use them.
499 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
501         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
502         declarations from elfread.c.
503         (dwarf2_initialize_objfile): Change return value.
504         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
505         declarations to defs.h.
506         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
507         * symfile.h (dwarf2_initialize_objfile): Change return type.
509 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
510             Pedro Alves  <palves@redhat.com>
512         * contrib/gdb-add-index.sh (index): Rename to ...
513         (index4): ... here.
514         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
515         Support also .debug_names and .debug_str.
516         * dwarf2read.c: Include cmath, set, list.
517         (INDEX_SUFFIX): Rename to ...
518         (INDEX4_SUFFIX): ... here.
519         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
520         (file_write(FILE *, const void *, size_t)): New.
521         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
522         (data_buf::append_unsigned_leb128, data_buf::empty): New.
523         (data_buf::file_write): Use ::file_write.
524         (data_buf::c_str, dwarf5_djb_hash, debug_names)
525         (check_dwarf64_offsets): New.
526         (psyms_seen_size, write_gdbindex): New from
527         write_psymtabs_to_index code.
528         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
529         (enum dw_index_kind): New.
530         (write_psymtabs_to_index): New parameter index_kind.  Support
531         filename_str and out_file_str.  Move code to write_gdbindex,
532         possibly call write_debug_names.
533         (save_gdb_index_command): New parameter -dwarf-5.
534         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
536 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
537             Pedro Alves  <palves@redhat.com>
539         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
540         comment.
541         (GDB_ADD_INDEX): New variable.
542         <$want_index>: Call $GDB_ADD_INDEX.
544 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
546         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
547         "expression_up" inside the TRY block.
549 2017-12-08  Yao Qi  <yao.qi@linaro.org>
551         * breakpoint.c (update_watchpoint): Call
552         address_significant.
554 2017-12-08  Yao Qi  <yao.qi@linaro.org>
556         * breakpoint.c (adjust_breakpoint_address): Call
557         address_significant.
559 2017-12-08  Yao Qi  <yao.qi@linaro.org>
561         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
562         significant_addr_bit.
563         * gdbarch.sh (significant_addr_bit): New.
564         * gdbarch.c, gdbarch.h: Re-generated.
565         * target.c (memory_xfer_partial): Call address_significant.
566         * utils.c (address_significant): New function.
567         * utils.h (address_significant): Declare.
569 2017-12-08  Tom Tromey  <tom@tromey.com>
571         * printcmd.c (ui_printf): Update.  Use std::vector.
572         * common/format.h (struct format_piece): Add constructor.
573         <string>: Now const.
574         (class format_pieces): New class.
575         (parse_format_string, free_format_pieces)
576         (free_format_pieces_cleanup): Remove.
577         * common/format.c (format_pieces::format_pieces): Rename from
578         parse_format_string.  Update.
579         (free_format_pieces, free_format_pieces_cleanup): Remove.
580         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
581         * ax-gdb.h (gen_printf): Remove argument.
582         * ax-gdb.c (gen_printf): Remove "frags" argument.
583         (maint_agent_printf_command): Update.  Use std::vector.
585 2017-12-08  Yao Qi  <yao.qi@linaro.org>
587         PR breakpionts/22567
588         * linespec.c (minsym_found): Set sal.section.
590 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
592         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
594 2017-12-07  Keith Seitz  <keiths@redhat.com>
596         PR breakpoints/22569
597         * location.c (string_to_explicit_location): When terminating
598         parsing early, break out of enclosing loop instead of returning.
600 2017-12-07  Keith Seitz  <keiths@redhat.com>
602         * NEWS (New commands): Mention set/show print type nested-type-limit.
603         * c-typeprint.c (c_type_print_base): Print out nested types.
604         * dwarf2read.c (struct typedef_field_list): Rename to ...
605         (struct decl_field_list): ... this.  Change all uses.
606         (struct field_info) <nested_types_list, nested_types_list_count>:
607         New fields.
608         (add_partial_symbol): Look for nested type definitions in C++, too.
609         (dwarf2_add_typedef): Rename to ...
610         (dwarf2_add_type_defn): ... this.
611         (type_can_define_types): New function.
612         Update assertion to use type_can_define_types.
613         Permit NULL for a field's name.
614         (process_structure_scope): Handle child DIEs of types that can
615         define types.
616         Copy the list of nested types into the type struct.
617         * gdbtypes.h (struct typedef_field): Rename to ...
618         (struct decl_field): ... this.  Change all uses.
619         [is_protected, is_private]: New fields.
620         (struct cplus_struct_type) <nested_types, nested_types_count>: New
621         fields.
622         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
623         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
624         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
625         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
626         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
627         default value for print_nested_type_limit.
628         (print_nested_type_limit): New static variable.
629         (set_print_type_nested_types, show_print_type_nested_types): New
630         functions.
631         (_initialize_typeprint): Register new commands for set/show
632         `print-nested-type-limit'.
633         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
634         New field.
636 2017-12-07  Tom Tromey  <tom@tromey.com>
638         PR breakpoints/22511:
639         * breakpoint.c (commands_command_1): Don't throw an exception when
640         no commands have been read.
642 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
644         PR c++/21222
645         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
646         range-for variable.
648 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
650         * common/selftest.h (struct selftest): Add virtual destructor.
652 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
654         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
655         over basic location code. Implement explicit location keywords.
656         (bppy_init_validate_args): New function.
657         * NEWS: Document Python explicit breakpoint locations.
659 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
661         * MAINTAINERS: Restore target entries for m68hc11-elf,
662         score-elf and xstormy16-elf, incorrectly removed in a previous
663         patch meant to only update the list of active maintainers.
665 2017-12-06  Pedro Alves  <palves@redhat.com>
667         * break-catch-syscall.c (insert_catch_syscall)
668         (remove_catch_syscall): Adjust to pass reference to
669         inf_data->syscalls_counts directly via gdb::array_view.
670         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
671         and gdb::array_view.
672         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
673         * remote.c (remote_set_syscall_catchpoint): Likewise.
674         * target-debug.h (target_debug_print_bool): New.
675         (define target_debug_print_gdb_array_view_const_int): New.
676         * target-delegates.c: Regenerate.
677         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
678         gdb::array_view and bool.
679         (target_set_syscall_catchpoint): Likewise.
681 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
683         * break-catch-syscall.c (catch_syscall_completer): Get pointers
684         to syscall group strings after building the string vector.
686 2017-12-06  Pedro Alves  <palves@redhat.com>
688         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
689         "qXfer:features:read"" is disabled.
690         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
691         Check packet_config_support instead of packet->support directly.
693 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
695         * target-descriptions.c (struct tdesc_feature) <registers>: Use
696         tdesc_reg_up typedef.
697         (struct target_desc) <features>: Use tdesc_feature_up typedef.
699 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
701         * target-descriptions.c (struct tdesc_type): Use default
702         destructor.
703         <u>: Remove.
704         <accept>: Remove.
705         (struct tdesc_type_builtin): New.
706         (struct tdesc_type_vector): New.
707         (struct tdesc_type_with_fields): New.
708         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
709         (tdesc_gdb_type): Remove.
710         (tdesc_register_type): Adjust.
711         (tdesc_create_vector): Create tdesc_type_vector.
712         (tdesc_create_struct): Create tdesc_type_with_fields.
713         (tdesc_set_struct_size): Change parameter type.
714         (tdesc_create_union): Create tdesc_type_with_fields.
715         (tdesc_create_flags): Likewise.
716         (tdesc_create_enum): Likewise.
717         (tdesc_add_field): Change parameter type.
718         (tdesc_add_typed_bitfield): Likewise.
719         (tdesc_add_bitfield): Likewise.
720         (tdesc_add_flag): Likewise.
721         (tdesc_add_enum_value): Likewise.
722         (print_c_tdesc) <visit>: Remove overload with tdesc_type
723         parameter, add overloads for tdesc_type_builtin,
724         tdesc_type_with_fields and tdesc_type_vector.
725         <m_printed_type>: Remove.
726         <m_printed_element_type, m_printed_type_with_fields>: Add.
727         * target-descriptions.h (tdesc_create_enum): Change return type.
728         (tdesc_add_typed_bitfield): Change parameter type.
729         (tdesc_add_enum_value): Change parameter type.
730         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
731         type to tdesc_type_with_fields.
732         (tdesc_start_struct): Adjust.
733         (tdesc_start_flags): Adjust.
734         (tdesc_start_enum): Adjust.
735         (tdesc_start_field): Adjust.
736         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
737         (struct tdesc_type_vector): Forward-declare.
738         (struct tdesc_type_with_fields): Forward-declare.
739         (tdesc_create_struct): Change return type.
740         (tdesc_create_union): Likewise.
741         (tdesc_create_flags): Likewise.
742         (tdesc_add_field): Change parameter type.
743         (tdesc_set_struct_size): Likewise.
744         (tdesc_add_bitfield): Likewise.
745         (tdesc_add_flag): Likewise.
746         * features: Re-generate C files.
748 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
750         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
751         (struct tdesc_arch_reg): Add constructor.
752         (DEF_VEC_O (tdesc_arch_reg)): Remove.
753         (struct tdesc_arch_data): Initialize fields.
754         <arch_regs>: Change type to std::vector.
755         (target_find_description): Adjust.
756         (tdesc_find_type): Adjust.
757         (tdesc_data_init): Call tdesc_arch_data constructor.
758         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
759         (tdesc_data_cleanup): Free data with delete.
760         (tdesc_numbered_register): Adjust.
761         (tdesc_find_arch_register): Adjust.
762         (tdesc_use_registers): Adjust.
764 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
766         * target-descriptions.c (tdesc_type_field): Remove typedef.
767         (DEF_VEC_O (tdesc_type_field)): Remove.
768         (struct tdesc_type_field): Add constructor.
769         <name>: Change type to std::string.
770         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
771         kind uses it.
772         <~tdesc_type>: Destroy vector if the type kind uses it.
773         <u::u::fields>: Change type to std::vector.
774         (tdesc_gdb_type): Adjust.
775         (tdesc_add_field): Adjust.
776         (tdesc_add_typed_bitfield): Adjust.
777         (tdesc_add_field): Adjust.
778         (tdesc_add_enum_value): Adjust.
779         (class print_c_tdesc) <visit>: Adjust.
781 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
783         * target-descriptions.c (struct tdesc_type) <name>: Change type
784         to std::string.
785         <~tdesc_type>: Don't manually free name.
786         <operator==>: Adjust.
787         (tdesc_named_type): Adjust.
788         (tdesc_find_type): Adjust.
789         (tdesc_gdb_type): Adjust.
790         (class print_c_tdesc) <visit>: Adjust.
792 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
794         * target-descriptions.c (tdesc_type_p): Remove typedef.
795         (DEF_VEC_P (tdesc_type_p)): Remove.
796         (struct tdesc_feature) <types>: Change type to std::vector.
797         <~tdesc_feature>: Replace with default implementation.
798         <accept>: Adjust.
799         (tdesc_named_type): Adjust.
800         (tdesc_create_vector): Adjust.
801         (tdesc_create_struct): Adjust.
802         (tdesc_create_union): Adjust.
803         (tdesc_create_flags): Adjust.
804         (tdesc_create_enum): Adjust.
806 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
808         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
809         type of name_ parameter, adjust to std::string change.
810         <name, group, type>: Change type to std::string.
811         <~tdesc_reg>: Replace with default implementation.
812         <operator==>: Adjust.
813         (tdesc_find_register_early): Adjust.
814         (tdesc_register_name): Adjust.
815         (tdesc_register_type): Adjust.
816         (tdesc_register_in_reggroup_p): Adjust.
817         (class print_c_tdesc) <visit>: Adjust.
818         (class print_c_feature) <visit>: Adjust.
819         * features/arc-arcompact.c: Re-generate.
820         * features/arc-v2.c: Re-generate.
822 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
824         * target-descriptions.c (tdesc_reg_p): Remove typedef.
825         (DEF_VEC_P (tdesc_reg_p)): Remove.
826         (struct tdesc_feature) <registers>: Change type to std::vector.
827         <~tdesc_feature>: Don't manually free registers.
828         <accept>: Adjust.
829         <operator==>: Adjust.
830         (tdesc_has_registers): Adjust.
831         (tdesc_find_register_early): Adjust.
832         (tdesc_use_registers): Adjust.
833         (tdesc_create_reg): Adjust.
835 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
837         * target-descriptions.c (tdesc_feature) <name>: Change type to
838         std::string.
839         <~tdesc_feature>: Don't manually free name.
840         <operator==>: Adjust.
841         (tdesc_find_feature): Adjust.
842         (tdesc_feature_name): Adjust.
843         (class print_c_tdesc) <visit_pre>: Adjust.
844         (class print_c_feature) <visit_pre>: Adjust.
846 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
848         * target-descriptions.c (tdesc_feature_p): Remove typedef.
849         (DEF_VEC_P (tdesc_feature_p)): Remove.
850         (struct target_desc) <features>: Change type to std::vector.
851         <~target_desc>: Replace with default implementation.
852         <accept>: Adjust.
853         <operator==>: Adjust.
854         (tdesc_has_registers): Adjust.
855         (tdesc_find_feature): Adjust.
856         (tdesc_use_registers): Adjust.
857         (tdesc_create_feature): Adjust.
859 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
861         * target-descriptions.c (arch_p): Remove typedef.
862         (DEF_VEC_P (arch_p)): Remove.
863         (struct target_desc) <compatible>: Change type to std::vector.
864         <~target_desc>: Don't manually free compatible.
865         (tdesc_compatible_p): Adjust.
866         (tdesc_add_compatible): Adjust.
867         (class print_c_tdesc) <visit_pre>: Adjust.
869 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
871         * target-descriptions.c (property_s): Remove typedef.
872         (DEF_VEC_O (property_s)): Remove.
873         (struct target_desc) <properties>: Make an std::vector.
874         <~target_desc>: Don't manually free properties.
875         (tdesc_property): Adjust.
876         (set_tdesc_property): Adjust.
877         (class print_c_tdesc) <visit_pre>: Adjust.
879 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
881         * common/gdb_assert.h (gdb_static_assert): Redefine using
882         static_assert.
884 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
886         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
887         unused variables.
888         (ada_is_redundant_range_encoding): Likewise.
889         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
890         Likewise.
891         * alpha-tdep.c (alpha_software_single_step): Likewise.
892         * arm-tdep.c (_initialize_arm_tdep): Likewise.
893         * auto-load.c (info_auto_load_cmd): Likewise.
894         * break-catch-syscall.c (insert_catch_syscall): Likewise.
895         (remove_catch_syscall): Likewise.
896         * breakpoint.c (condition_completer): Likewise.
897         (clear_command): Likewise.
898         (update_breakpoint_locations): Likewise.
899         * btrace.c (btrace_disable): Likewise.
900         (btrace_teardown): Likewise.
901         (btrace_maint_update_pt_packets): Likewise.
902         (maint_btrace_clear_cmd): Likewise.
903         * cli/cli-decode.c (lookup_cmd_1): Likewise.
904         (lookup_cmd_composition): Likewise.
905         * cli/cli-dump.c (scan_filename): Likewise.
906         (restore_command): Likewise.
907         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
908         * compile/compile-object-load.c (compile_object_load): Likewise.
909         * compile/compile-object-run.c (compile_object_run): Likewise.
910         * compile/compile.c (compile_to_object): Likewise.
911         * completer.c (filename_completer): Likewise.
912         (complete_files_symbols): Likewise.
913         (complete_expression): Likewise.
914         * corelow.c (core_open): Likewise.
915         * ctf.c (ctf_start): Likewise.
916         (ctf_write_status): Likewise.
917         (ctf_write_uploaded_tsv): Likewise.
918         (ctf_write_definition_end): Likewise.
919         (ctf_open_dir): Likewise.
920         (ctf_xfer_partial): Likewise.
921         (ctf_trace_find): Likewise.
922         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
923         Likewise.
924         * dwarf2loc.c (allocate_piece_closure): Likewise.
925         (indirect_pieced_value): Likewise.
926         (dwarf2_evaluate_loc_desc_full): Likewise.
927         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
928         (dw2_expand_symtabs_matching): Likewise.
929         (dw2_map_symbol_filenames): Likewise.
930         (read_and_check_comp_unit_head): Likewise.
931         (read_cutu_die_from_dwo): Likewise.
932         (lookup_dwo_unit): Likewise.
933         (read_comp_units_from_section): Likewise.
934         (dwarf2_compute_name): Likewise.
935         (handle_DW_AT_stmt_list): Likewise.
936         (create_cus_hash_table): Likewise.
937         (create_dwp_v2_section): Likewise.
938         (dwarf2_rnglists_process): Likewise.
939         (dwarf2_ranges_process): Likewise.
940         (dwarf2_record_block_ranges): Likewise.
941         (is_vtable_name): Likewise.
942         (read_formatted_entries): Likewise.
943         (skip_form_bytes): Likewise.
944         * elfread.c (elf_symtab_read): Likewise.
945         * exec.c (exec_file_command): Likewise.
946         * f-valprint.c (f_val_print): Likewise.
947         (info_common_command_for_block): Likewise.
948         * guile/guile.c (initialize_scheme_side): Likewise.
949         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
950         * guile/scm-cmd.c (cmdscm_completer): Likewise.
951         (gdbscm_register_command_x): Likewise.
952         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
953         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
954         * guile/scm-ports.c (file_port_magic): Likewise.
955         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
956         (ppscm_pretty_print_one_value): Likewise.
957         (ppscm_print_children): Likewise.
958         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
959         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
960         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
961         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
962         * i386-tdep.c (i386_register_reggroup_p): Likewise.
963         * infcmd.c (run_command_1): Likewise.
964         (until_next_fsm_clean_up): Likewise.
965         * linespec.c (linespec_complete): Likewise.
966         (find_label_symbols): Likewise.
967         * m2-valprint.c (m2_val_print): Likewise.
968         * memattr.c (require_user_regions): Likewise.
969         (lookup_mem_region): Likewise.
970         (disable_mem_command): Likewise.
971         (mem_delete): Likewise.
972         * mep-tdep.c (mep_register_name): Likewise.
973         (mep_analyze_prologue): Likewise.
974         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
975         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
976         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
977         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
978         * minidebug.c (lzma_open): Likewise.
979         * minsyms.c (lookup_minimal_symbol): Likewise.
980         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
981         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
982         (mips_o64_return_value): Likewise.
983         (mips_single_step_through_delay): Likewise.
984         (_initialize_mips_tdep): Likewise.
985         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
986         (nios2_software_single_step): Likewise.
987         * parse.c (find_minsym_type_and_address): Likewise.
988         * psymtab.c (psym_relocate): Likewise.
989         * python/py-breakpoint.c (bppy_get_commands): Likewise.
990         (gdbpy_breakpoint_modified): Likewise.
991         * python/py-infevents.c (create_inferior_call_event_object):
992         Likewise.
993         * python/py-record-btrace.c (btpy_list_item): Likewise.
994         * python/py-type.c (typy_str): Likewise.
995         * python/py-value.c (valpy_call): Likewise.
996         * python/python.c (do_start_initialization): Likewise.
997         * record-btrace.c (record_btrace_insn_history_range): Likewise.
998         (record_btrace_call_history_range): Likewise.
999         (record_btrace_record_method): Likewise.
1000         (record_btrace_xfer_partial): Likewise.
1001         (btrace_get_frame_function): Likewise.
1002         * record-full.c (record_full_open): Likewise.
1003         * record.c (get_context_size): Likewise.
1004         * registry.h (DEFINE_REGISTRY): Likewise.
1005         * remote-fileio.c (remote_fileio_request): Likewise.
1006         * remote.c (remote_update_thread_list): Likewise.
1007         (remote_check_symbols): Likewise.
1008         (remote_commit_resume): Likewise.
1009         (remote_interrupt): Likewise.
1010         (remote_insert_breakpoint): Likewise.
1011         (compare_sections_command): Likewise.
1012         * rust-exp.y (super_name): Likewise.
1013         (lex_string): Likewise.
1014         (convert_ast_to_type): Likewise.
1015         (convert_ast_to_expression): Likewise.
1016         * rust-lang.c (rust_print_struct_def): Likewise.
1017         (rust_print_type): Likewise.
1018         (rust_evaluate_subexp): Likewise.
1019         * rx-tdep.c (rx_register_type): Likewise.
1020         * ser-event.c (serial_event_clear): Likewise.
1021         * serial.c (serial_open): Likewise.
1022         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
1023         * symfile.c (section_is_overlay): Likewise.
1024         (overlay_unmapped_address): Likewise.
1025         (overlay_mapped_address): Likewise.
1026         (simple_overlay_update_1): Likewise.
1027         (simple_overlay_update): Likewise.
1028         * symtab.c (symbol_find_demangled_name): Likewise.
1029         (search_symbols): Likewise.
1030         * target-descriptions.c (tdesc_predefined_type): Likewise.
1031         * target.c (target_commit_resume): Likewise.
1032         * thread.c (print_selected_thread_frame): Likewise.
1033         * top.c (new_ui_command): Likewise.
1034         (gdb_readline_no_editing): Likewise.
1035         * tracefile-tfile.c (tfile_open): Likewise.
1036         * tracepoint.c (create_tsv_from_upload): Likewise.
1037         * utils.c (quit): Likewise.
1038         (defaulted_query): Likewise.
1039         * valarith.c (value_concat): Likewise.
1040         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
1041         * xml-tdesc.c (target_fetch_description_xml): Likewise.
1042         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
1043         (xtensa_pseudo_register_write): Likewise.
1045 2017-12-04  Tom Tromey  <tom@tromey.com>
1047         * NEWS: Mention Rust trait object inspection.
1049 2017-12-04  Pedro Alves  <palves@redhat.com>
1051         PR gdb/22499
1052         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
1053         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
1054         (vex2_prefix_p, vex3_prefix_p): New functions.
1055         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
1056         VEX3 prefixes.
1057         (fixup_riprel): Set VEX3.!B.
1059 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
1061         * target.h (mem_region_vector): Remove.
1062         (struct target_ops) <to_memory_map>: Change return type to
1063         std::vector<mem_region>.
1064         * target-debug.h (target_debug_print_mem_region_vector): Rename
1065         to ...
1066         (target_debug_print_std_vector_mem_region): ... this.
1067         * target-delegates.c: Re-generate.
1069 2017-12-03  Pedro Alves  <palves@redhat.com>
1071         * make-target-delegates (munge_type): Also munge '<', '>', and
1072         ':'.  Avoid double underscores in identifiers, and trailing
1073         underscores.
1074         * target-debug.h
1075         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
1076         ...
1077         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
1078         * target-delegates.c: Regenerate.
1080 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
1082         * common/poison.h (XDELETE): Fix typo.
1084 2017-12-01  Andrew Cagney  <cagney@redhat.com>
1085             Joel Brobecker  <brobecker@adacore.com>
1086             Sergio Durigan Junior  <sergiodj@redhat.com>
1088         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
1089         feature.
1090         * coffread.c (coff_symfile_read): Do not map over sections with
1091         'coff_locate_sections' if readnever is on.
1092         * dwarf2read.c (dwarf2_has_info): Return 0 if
1093         readnever is on.
1094         * elfread.c (elf_symfile_read): Do not map over sections with
1095         'elf_locate_sections' if readnever is on.
1096         * main.c (validate_readnow_readnever): New function.
1097         (captured_main_1): Add support for --readnever.
1098         (print_gdb_help): Document --readnever.
1099         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
1100         flag.
1101         * symfile.c (readnever_symbol_files): New global.
1102         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
1103         'READNEVER_SYMBOL_FILES' is set.
1104         (validate_readnow_readnever): New function.
1105         (symbol_file_command): Handle '-readnever' option.
1106         Call 'validate_readnow_readnever'.
1107         (add_symbol_file_command): Handle '-readnever' option.
1108         Call 'validate_readnow_readnever'.
1109         (_initialize_symfile): Document new '-readnever' option for
1110         both 'symbol-file' and 'add-symbol-file' commands.
1111         * top.h (readnever_symbol_files): New extern global.
1112         * xcoffread.c (xcoff_initial_scan): Do not read debug
1113         information if readnever is on.
1115 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
1117         * symfile.c (symbol_file_command): Call
1118         'symbol_file_add_main_1' only after processing all command
1119         line options.
1120         (add_symbol_file_command): Modify logic to make arguments
1121         position-independent.
1123 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
1125         * ada-lang.c (symbol_list_obstack): Delete.
1126         (resolve_subexp): Make sure "candidates" gets xfree'ed.
1127         (ada_lookup_symbol_list_worker): Remove the limitation that
1128         the result is only good until the next call, now making it
1129         the responsibility of the caller to free the result when no
1130         longer needed.  Adjust the function's intro comment accordingly.
1131         (ada_lookup_symbol_list): Adjust the function's intro comment.
1132         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
1133         (ada_lookup_encoded_symbol, get_var_value): Likewise.
1134         (_initialize_ada_language): Remove symbol_list_obstack
1135         initialization.
1136         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
1137         (write_var_or_type, write_name_assoc): Likewise.
1139 2017-12-01  Tom Tromey  <tom@tromey.com>
1141         * Makefile.in (all_deps_files): New variable.
1142         Include .Po files using all_deps_files.
1144 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
1146         * MAINTAINERS: Update list of maintainers, moving those who
1147         stepped down or became inactive to the "Past Maintainers"
1148         section.
1150 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1152         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
1153         sys/proc.h.
1154         (NEW_PROC_API): Remove.
1155         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
1156         Likewise.
1157         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
1158         * configure: Regenerate.
1159         * config.in: Regenerate.
1160         * gdbserver/configure: Regenerate.
1161         * gdbserver/config.in: Regenerate.
1163         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
1164         NEW_PROC_API test.
1165         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
1167         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
1169         * proc-api.c: Remove !NEW_PROC_API support.
1170         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
1171         Remove tests for macros always defined on Solaris.
1172         * proc-events.c: Remove !NEW_PROC_API support.
1173         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
1174         HAVE_SYS_USER_H tests.
1175         (init_syscall_table): Remove non-Solaris syscalls.
1176         Remove tests for syscalls present on all Solaris versions.
1177         Add missing Solaris 10+ syscalls.
1178         (signal_table): Remove non-Solaris signals.
1179         Remove tests for signals present on all Solaris versions.
1180         (fault_table): Remove non-Solaris faults.
1181         Remove tests for faults present on all Solaris versions.
1182         * proc-flags.c: Remove !NEW_PROC_API support.
1183         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
1184         Remove non-Solaris flags.
1185         * proc-why.c: Remove !NEW_PROC_API support.
1186         (pr_why_table): Remove meaningless comments.
1187         Remove tests for reasons present on all Solaris versions.
1188         Remove OSF/1 cases.
1189         (proc_prettyfprint_why): Likewise.
1191         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
1192         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
1193         Remove WA_READ test, IRIX watchpoint support.
1194         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
1195         types.  Change users.
1196         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
1197         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
1198         Change callers.
1199         Remove CTL_PROC_NAME_FMT tests.
1200         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
1201         users.
1202         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
1203         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
1204         (proc_modify_flag): Replace GDBRESET by PCUNSET.
1205         Remove PR_ASYNC, PR_KLC tests.
1206         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
1207         (proc_parent_pid): Remove PCWATCH etc. tests.
1208         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
1209         Remove PCAGENT test.
1210         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
1211         Remove SYS_lwpcreate || SYS_lwp_create test.
1212         (proc_get_current_thread): Likewise.
1213         [PIOCNTHR && PIOCTLIST]: Remove.
1214         [PIOCLSTATUS]: Remove.
1215         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
1216         [PRFS_STOPEXEC]: Remove.
1217         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
1218         (syscall_is_exit): Likewise.
1219         (syscall_is_exec): Likewise.
1220         (syscall_is_lwp_create): Likewise.
1221         Remove SYS_syssgi support.
1222         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
1223         [SYS_syssgi]: Remove.
1224         Remove non-Solaris cases, conditionals.
1225         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
1226         Remove.
1227         (procfs_init_inferior) [SYS_syssgi]: Remove.
1228         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
1229         (procfs_inferior_created) [SYS_syssgi]: Remove.
1230         (procfs_set_watchpoint): Remove !AIX5 test.
1231         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
1232         case.
1233         (mappingflags) [MA_PHYS]: Remove.
1234         (info_mappings_callback): Remove PCAGENT test.
1235         Remove PIOCOPENLWP || PCAGENT test.
1237 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1239         * sol-thread.c (info_solthreads): Constify args.
1240         Cast args to void *.
1242 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
1244         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
1246 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
1248         * ada-lang.c (to_fixed_range_type): Make sure that the size
1249         of the range type being returned is the same as the size
1250         of the range type being fixed.
1252 2017-11-29  Pedro Alves  <palves@redhat.com>
1254         PR c++/19436
1255         * NEWS: Mention setting breakpoints on functions with C++ ABI
1256         tags.
1257         * completer.h (completion_match_for_lcd) <match,
1258         mark_ignored_range>: New methods.
1259         <finish>: Consider ignored ranges.
1260         <clear>: Clear ignored ranges.
1261         <m_ignored_ranges, m_finished_storage>: New fields.
1262         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1263         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1264         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1265         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1266         * language.c (default_symbol_name_matcher): Pass the
1267         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1268         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1269         * utils.c (skip_abi_tag): New function.
1270         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1271         Handle ABI tags.
1272         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1273         parameter.
1275 2017-11-29  Pedro Alves  <palves@redhat.com>
1277         PR c++/19436
1278         * NEWS: Mention setting breakpoints on functions with C++ ABI
1279         tags.
1280         * completer.h (completion_match_for_lcd) <match,
1281         mark_ignored_range>: New methods.
1282         <finish>: Consider ignored ranges.
1283         <clear>: Clear ignored ranges.
1284         <m_ignored_ranges, m_finished_storage>: New fields.
1285         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1286         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1287         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1288         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1289         * language.c (default_symbol_name_matcher): Pass the
1290         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1291         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1292         * utils.c (skip_abi_tag): New function.
1293         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1294         Handle ABI tags.
1295         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1296         parameter.
1298 2017-11-29  Pedro Alves  <palves@redhat.com>
1300         * NEWS: Mention that breakpoints on C++ functions are now set on
1301         on all namespaces/classes by default, and mention "break
1302         -qualified".
1303         * ax-gdb.c (agent_command_1): Adjust to pass a
1304         symbol_name_match_type to new_linespec_location.
1305         * breakpoint.c (parse_breakpoint_sals): Adjust to
1306         get_linespec_location's return type change.
1307         (strace_marker_create_sals_from_location): Adjust to pass a
1308         symbol_name_match_type to new_linespec_location.
1309         (strace_marker_decode_location): Adjust to get_linespec_location's
1310         return type change.
1311         (strace_command): Adjust to pass a symbol_name_match_type to
1312         new_linespec_location.
1313         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
1314         mention "-qualified".
1315         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
1316         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
1317         enumerator.
1318         (complete_address_and_linespec_locations): New parameter
1319         'match_type'.  Pass it down.
1320         (explicit_options): Add "-qualified".
1321         (collect_explicit_location_matches): Pass the requested match type
1322         to the linespec completers.  Handle MATCH_QUALIFIED.
1323         (location_completer): Handle "-qualified" combined with linespecs.
1324         * cp-support.c (cp_search_name_hash): New.
1325         (cp_symbol_name_matches_1): Implement wild matching for C++.
1326         (cp_fq_symbol_name_matches): Reimplement.
1327         (cp_get_symbol_name_matcher): Return different matchers depending
1328         on the lookup name's match type.
1329         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
1330         * cp-support.h (cp_search_name_hash): New declaration.
1331         * dwarf2read.c
1332         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
1333         symbols.
1334         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
1335         tests.
1336         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
1337         pass a symbol_name_match_type to new_linespec_location.
1338         * linespec.c (linespec_parse_basic): Lookup function symbols using
1339         the parser's symbol name match type.
1340         (convert_explicit_location_to_linespec): New
1341         symbol_name_match_type parameter.  Pass it down to
1342         find_linespec_symbols.
1343         (convert_explicit_location_to_sals): Pass the location's name
1344         match type to convert_explicit_location_to_linespec.
1345         (parse_linespec): New match_type parameter.  Save it in the
1346         parser.
1347         (linespec_parser_new): Default to symbol_name_match_type::WILD.
1348         (linespec_complete_function): New symbol_name_match_type
1349         parameter.  Use it.
1350         (complete_linespec_component): Pass down the parser's recorded
1351         name match type.
1352         (linespec_complete_label): New symbol_name_match_type parameter.
1353         Use it.
1354         (linespec_complete): New symbol_name_match_type parameter.  Save
1355         it in the parser and pass it down.  Adjust to
1356         get_linespec_location's prototype change.
1357         (find_function_symbols, find_linespec_symbols): New
1358         symbol_name_match_type parameter.  Pass it down instead of
1359         assuming symbol_name_match_type::WILD.
1360         * linespec.h (linespec_complete, linespec_complete_function)
1361         (linespec_complete_label): New symbol_name_match_type parameter.
1362         * location.c (event_location::linespec_location): Now a struct
1363         linespec_location.
1364         (EL_LINESPEC): Adjust.
1365         (initialize_explicit_location): Default to
1366         symbol_name_match_type::WILD.
1367         (new_linespec_location): New symbol_name_match_type parameter.
1368         Record it in the location.
1369         (get_linespec_location): Now returns a struct linespec_location.
1370         (new_explicit_location): Also copy func_name_match_type.
1371         (explicit_to_string_internal)
1372         (string_to_explicit_location): Handle "-qualified".
1373         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1374         Copy symbol_name_match_type fields.
1375         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1376         type change.
1377         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1378         change.  Handle "-qualfied".
1379         (string_to_explicit_location): Handle "-qualified".
1380         (string_to_event_location_basic): New symbol_name_match_type
1381         parameter.  Pass it down.
1382         (string_to_event_location): Handle "-qualified".
1383         * location.h (struct linespec_location): New.
1384         (explicit_location::func_name_match_type): New field.
1385         (new_linespec_location): Now returns a const linespec_location *.
1386         (string_to_event_location_basic): New symbol_name_match_type
1387         parameter.
1388         (explicit_completion_info::saw_explicit_location_option): New
1389         field.
1390         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1391         symbol_name_match_type to new_linespec_location.
1392         * python/py-breakpoint.c (bppy_init): Likewise.
1393         * python/python.c (gdbpy_decode_line): Likewise.
1395 2017-11-29  Pedro Alves  <palves@redhat.com>
1397         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1398         parameter from completion_match to completion_match_result.
1399         Adjust.
1400         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1401         * completer.c (completion_tracker::maybe_add_completion): Add
1402         match_for_lcd parameter and use it.
1403         (completion_tracker::add_completion): Likewise.
1404         * completer.h (class completion_match_for_lcd): New class.
1405         (completion_match_result::match_for_lcd): New field.
1406         (completion_match_result::set_match): New method.
1407         (completion_tracker): Add comments.
1408         (completion_tracker::add_completion): Add match_for_lcd parameter.
1409         (completion_tracker::reset_completion_match_result): Reset
1410         match_for_lcd too.
1411         (completion_tracker::maybe_add_completion): Add match_for_lcd
1412         parameter.
1413         (completion_tracker::m_lowest_common_denominator_unique): Extend
1414         comments.
1415         * cp-support.c (cp_symbol_name_matches_1)
1416         (cp_fq_symbol_name_matches): Change type of parameter from
1417         completion_match to completion_match_result.  Adjust.
1418         * language.c (default_symbol_name_matcher): Change type of
1419         parameter from completion_match to completion_match_result.
1420         Adjust.
1421         * language.h (completion_match_for_lcd): Forward declare.
1422         (default_symbol_name_matcher): Change type of parameter from
1423         completion_match to completion_match_result.
1424         * symtab.c (compare_symbol_name): Adjust.
1425         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1426         * symtab.h (ada_lookup_name_info::matches): Change type of
1427         parameter from completion_match to completion_match_result.
1428         (symbol_name_matcher_ftype): Likewise, and update comments.
1430 2017-11-29  Pedro Alves  <palves@redhat.com>
1432         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1433         * minsyms.c (msymbol_is_text): Delete.
1434         (msymbol_is_function): New function.
1435         * minsyms.h (msymbol_is_text): Delete.
1436         (msymbol_is_function): New declaration.
1437         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1439 2017-11-29  Tom Tromey  <tom@tromey.com>
1441         * Makefile.in (distclean): Handle the case where rmdir fails.
1443 2017-11-29  Tom Tromey  <tom@tromey.com>
1445         * symfile.c (_initialize_symfile): Update usage text for
1446         add-symbol-file, symbol-file, load.
1448 2017-11-29  Tom Tromey  <tom@tromey.com>
1450         * symfile.c (add_symbol_file_command): Error if some arguments to
1451         -s are missing.  Change unrecognized-argument error message.
1452         (_initialize_symfile): Fix usage text for add-symbol-file.
1454 2017-11-27  Tom Tromey  <tom@tromey.com>
1456         * Makefile.in (REMOTE_OBS): Remove.
1457         (SFILES): Remove remote sources.
1458         (COMMON_SFILES): Add remote sources.
1459         (ALLDEPFILES): Remove dcache.c.
1461 2017-11-27  Tom Tromey  <tom@tromey.com>
1463         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1464         variables.
1465         (SFILES): Use SUBDIR_TARGET_SRCS.
1466         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1467         (CONFIG_SRC_SUBDIR): Add target.
1468         (%.o): Remove target rule.
1470 2017-11-27  Tom Tromey  <tom@tromey.com>
1472         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1473         registry.o, thread-fsm.o, debug.o.
1474         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1475         thread-fsm.c, debug.c.
1477 2017-11-27  Tom Tromey  <tom@tromey.com>
1479         * Makefile.in (COMMON_SFILES): New.
1480         (SFILES): Move some entries to COMMON_SFILES.
1481         (COMMON_OBS): Use COMMON_SFILES.
1483 2017-11-27  Tom Tromey  <tom@tromey.com>
1485         * Makefile.in (YYFILES): Update comment.
1486         (YYOBJ): Redefine.
1488 2017-11-27  Tom Tromey  <tom@tromey.com>
1490         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1491         (CONFIG_SRC_SUBDIR): Add python.
1492         (%.o): Remove python rule.
1493         (python/%.o): New rule.
1494         * configure: Rebuild.
1495         * configure.ac (CONFIG_OBS): Refer to python/python.o
1497 2017-11-27  Tom Tromey  <tom@tromey.com>
1499         * configure: Rebuild.
1500         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1501         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1502         (CONFIG_SRC_SUBDIR): Add guile.
1503         (%.o): Remove guile rule.
1505 2017-11-27  Tom Tromey  <tom@tromey.com>
1507         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1508         (%.o): Remove unittests rule.
1509         (CONFIG_SRC_SUBDIR): Add unittests.
1511 2017-11-27  Tom Tromey  <tom@tromey.com>
1513         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1514         (CONFIG_SRC_SUBDIR): Add tui.
1515         (%.o): Remove tui rule.
1517 2017-11-27  Tom Tromey  <tom@tromey.com>
1519         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1520         (%.o): Remove compile rule.
1521         (CONFIG_SRC_SUBDIR): Add compile.
1523 2017-11-27  Tom Tromey  <tom@tromey.com>
1525         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1526         (%.o): Remove mi rule.
1527         (CONFIG_SRC_SUBDIR): Add mi.
1528         (COMMON_OBS): Use mi/mi-common.o
1530 2017-11-27  Tom Tromey  <tom@tromey.com>
1532         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1533         (%.o): Remove cli rule.
1534         (CONFIG_SRC_SUBDIR): Add cli.
1536 2017-11-27  Tom Tromey  <tom@tromey.com>
1538         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1539         * configure: Rebuild.
1540         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1541         (CONFIG_DEP_SUBDIR): New variable.
1542         (%.o): Add order-only dependency.
1543         ($(CONFIG_DEP_SUBDIR)): New target.
1545 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1547         PR gdb/21945
1548         * findcmd.c (_initialize_mem_search): Update find command help
1549         text.
1551 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1553         * python/python.c (do_start_initialization): Change progname
1554         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1555         Python 2.
1557 2017-11-26  Tom Tromey  <tom@tromey.com>
1559         * common/format.h: Add include guards.
1561 2017-11-26  Tom Tromey  <tom@tromey.com>
1563         * nat/linux-personality.h (class
1564         maybe_disable_address_space_randomization): New class.
1565         (maybe_disable_address_space_randomization): Don't declare
1566         function.
1567         * nat/linux-personality.c (restore_personality)
1568         (make_disable_asr_cleanup): Remove.
1569         (maybe_disable_address_space_randomization): Now a constructor.
1570         (~maybe_disable_address_space_randomization): New destructor.
1571         * linux-nat.c (linux_nat_create_inferior): Update.
1573 2017-11-26  Tom Tromey  <tom@tromey.com>
1575         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1577 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1579         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1580         "cooked" register.  Access only first four bytes of branch target
1581         registers.
1583 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1585         PR gdb/22491
1586         * stap-probe.c (relocate_address): New function.
1587         (stap_probe::get_relocated_address): Use 'relocate_address'.
1588         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1589         'm_sem_addr'.
1590         (stap_probe::clear_semaphore): Likewise.
1592 2017-11-25  Pedro Alves  <palves@redhat.com>
1594         * dictionary.c: Include "safe-ctype.h".
1595         * minsyms.c: Include "safe-ctype.h".
1596         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1598 2017-11-25   Pedro Alves  <palves@redhat.com>
1600         * completer.c (complete_line_internal_1): Skip spaces until the
1601         start of the command.
1603 2017-11-24  Pedro Alves  <palves@redhat.com>
1605         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1606         cp_fq_symbol_name_matches.  Pass language_cplus to
1607         strncmp_with_mode.
1608         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1609         (selftests::test_cp_symbol_name_cmp): New.
1610         (_initialize_cp_support): Register "cp_symbol_name_matches"
1611         selftests.
1612         * language.c (default_symbol_name_matcher): Pass language_minimal
1613         to strncmp_iw_with_mode.
1614         * utils.c: Include "cp-support.h" and <algorithm>.
1615         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1616         (cp_is_operator): New functions.
1617         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1618         skip whitespace in the symbol name when the lookup name doesn't
1619         have spaces, and vice versa.
1620         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1621         * utils.h (strncmp_iw_with_mode): Add language parameter.
1623 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1625         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1626         New functions.
1627         (print_it_exception): If available, display the exception
1628         message as well.
1629         * NEWS: Document new feature.
1631 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1633         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1635 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1637         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1638         (dtrace_probe::is_enabled, dtrace_probe::enable)
1639         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1640         variable
1641         * probe.c (gen_ui_out_table_header_info)
1642         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1643         for-range variable
1645 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1647         * configure.tgt: Add arch/aarch64.o
1649 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1651         * common/common-utils.h: Include poison.h.
1652         (xfree): Remove declaration, add definition with static_assert.
1653         * common/common-utils.c (xfree): Remove.
1654         * common/poison.h (IsMallocatable): Define.
1655         (IsFreeable): Define.
1656         (free): Delete for non-freeable types.
1657         (xnew): New.
1658         (XNEW): Undef and redefine.
1659         (xcnew): New.
1660         (XCNEW): Undef and redefine.
1661         (xdelete): New.
1662         (XDELETE): Undef and redefine.
1663         (xnewvec): New.
1664         (XNEWVEC): Undef and redefine.
1665         (xcnewvec): New.
1666         (XCNEWVEC): Undef and redefine.
1667         (xresizevec): New.
1668         (XRESIZEVEC): Undef and redefine.
1669         (xdeletevec): New.
1670         (XDELETEVEC): Undef and redefine.
1671         (xnewvar): New.
1672         (XNEWVAR): Undef and redefine.
1673         (xcnewvar): New.
1674         (XCNEWVAR): Undef and redefine.
1675         (xresizevar): New.
1676         (XRESIZEVAR): Undef and redefine.
1678 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1680         * gdbthread.h (private_thread_info): Define structure type, add
1681         virtual pure destructor.
1682         (thread_info) <priv>: Change type to unique_ptr.
1683         <private_dtor>: Remove.
1684         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1685         (private_thread_info::~private_thread_info): Provide default
1686         implementation.
1687         (thread_info::~thread_info): Don't call private_dtor nor
1688         manually free priv.
1689         * aix-thread.c (private_thread_info): Rename to ...
1690         (aix_thread_info): ... this.
1691         (get_aix_thread_info): New.
1692         (sync_threadlists): Adjust.
1693         (iter_tid): Adjust.
1694         (aix_thread_resume): Adjust.
1695         (aix_thread_fetch_registers): Adjust.
1696         (aix_thread_store_registers): Adjust.
1697         (aix_thread_extra_thread_info): Adjust.
1698         * darwin-nat.h (private_thread_info): Rename to ...
1699         (darwin_thread_info): ... this.
1700         (get_darwin_thread_info): New.
1701         * darwin-nat.c (darwin_init_thread_list): Adjust.
1702         (darwin_check_new_threads): Adjust.
1703         (thread_info_from_private_thread_info): Adjust.
1704         * linux-thread-db.c (private_thread_info): Rename to ...
1705         (thread_db_thread_info): ... this, initialize fields.
1706         (get_thread_db_thread_info): New.
1707         <dying>: Change type to bool.
1708         (update_thread_state): Adjust to type rename.
1709         (record_thread): Adjust to type rename an use of unique_ptr.
1710         (thread_db_pid_to_str): Likewise.
1711         (thread_db_extra_thread_info): Likewise.
1712         (thread_db_thread_handle_to_thread_info): Likewise.
1713         (thread_db_get_thread_local_address): Likewise.
1714         * nto-tdep.h (private_thread_info): Rename to ...
1715         (nto_thread_info): ... this, initialize fields.
1716         (get_nto_thread_info): New.
1717         <name>: Change type to std::string.
1718         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1719         use of unique_ptr.
1720         * nto-procfs.c (update_thread_private_data_name): Adjust to
1721         std::string change, allocate nto_private_thread_info with new.
1722         (update_thread_private_data): Adjust to unique_ptr.
1723         * remote.c (private_thread_info): Rename to ...
1724         (remote_thread_info): ... this, initialize data members with
1725         default values.
1726         <extra, name>: Change type to std::string.
1727         <thread_handle>: Change type to non-pointer.
1728         (free_private_thread_info): Remove.
1729         (get_private_info_thread): Rename to...
1730         (get_remote_thread_info): ... this, change return type, adjust to
1731         use of unique_ptr, use remote_thread_info constructor.
1732         (remote_add_thread): Adjust.
1733         (get_private_info_ptid): Rename to...
1734         (get_remote_thread_info): ...this, change return type.
1735         (remote_thread_name): Use get_remote_thread_info, adjust to
1736         change to std::string.
1737         (struct thread_item) <~thread_item>: Remove.
1738         <thread_handle>: Make non pointer.
1739         (start_thread): Adjust to thread_item::thread_handle type
1740         change.
1741         (remote_update_thread_list): Adjust to type name change, move
1742         strings from temporary to long-lived object instead of
1743         duplicating.
1744         (remote_threads_extra_info): Use get_remote_thread_info.
1745         (process_initial_stop_replies): Likewise.
1746         (resume_clear_thread_private_info): Likewise.
1747         (remote_resume): Adjust to type name change.
1748         (remote_commit_resume): Use get_remote_thread_info.
1749         (process_stop_reply): Adjust to type name change.
1750         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1751         (remote_stopped_by_hw_breakpoint): Likewise.
1752         (remote_stopped_by_watchpoint): Likewise.
1753         (remote_stopped_data_address): Likewise.
1754         (remote_core_of_thread): Likewise.
1755         (remote_thread_handle_to_thread_info): Use
1756         get_private_info_thread, adjust to thread_handle field type
1757         change.
1759 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1761         * remote.c (struct thread_item): Add constructor, disable copy
1762         construction and copy assignment, define default move
1763         construction and move assignment.
1764         <extra, name>: Change type to std::string.
1765         <core>: Initialize.
1766         <thread_handle>: Make non-pointer.
1767         (thread_item_t): Remove typedef.
1768         (DEF_VEC_O(thread_item_t)): Remove.
1769         (threads_listing_context) <contains_thread>: New method.
1770         <remove_thread>: New method.
1771         <items>: Change type to std::vector.
1772         (clear_threads_listing_context): Remove.
1773         (threads_listing_context_remove): Remove.
1774         (remote_newthread_step): Use thread_item constructor, adjust to
1775         change to std::vector.
1776         (start_thread): Use thread_item constructor, adjust to change to
1777         std::vector.
1778         (end_thread): Adjust to change to std::vector and std::string.
1779         (remote_get_threads_with_qthreadinfo): Use thread_item
1780         constructor, adjust to std::vector.
1781         (remote_update_thread_list): Adjust to change to std::vector and
1782         std::string, use threads_listing_context methods.
1783         (remove_child_of_pending_fork): Adjust.
1784         (remove_new_fork_children): Adjust.
1785         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1786         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1787         * unittests/rsp-low-selftests.c: New file.
1788         * common/rsp-low.h: Include common/byte-vector.h.
1789         (hex2bin): New overload.
1790         * common/rsp-low.c (hex2bin): New overload.
1792 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1794         * inferior.h (private_inferior): Define structure type, add
1795         virtual pure destructor.
1796         (inferior) <priv>: Change type to unique_ptr.
1797         * inferior.c (private_inferior::~private_inferior): Provide
1798         default implementation.
1799         (inferior::~inferior): Don't free priv field.
1800         (exit_inferior_1): Likewise.
1801         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1802         (darwin_exception_info): Remove typedef.
1803         (DEF_VEC_O (darwin_thread_t)); Remove.
1804         (private_inferior): Rename to ...
1805         (darwin_private_inferior): ... this, extend private_inferior.
1806         (get_darwin_inferior): New.
1807         <threads>: Change type to std::vector of darwin_thread_t pointers.
1808         * darwin-nat.c (darwin_check_new_threads): Adjust.
1809         (find_inferior_task_it): Adjust.
1810         (darwin_find_thread); Adjust.
1811         (darwin_suspend_inferior): Adjust.
1812         (darwin_resume_inferior): Adjust.
1813         (darwin_find_new_inferior): Adjust.
1814         (darwin_decode_notify_message): Adjust.
1815         (darwin_send_reply): Adjust.
1816         (darwin_resume_inferior_threads): Adjust.
1817         (darwin_suspend_inferior_threads): Adjust.
1818         (darwin_decode_message): Adjust.
1819         (darwin_wait): Adjust.
1820         (darwin_interrupt): Adjust.
1821         (darwin_deallocate_threads): Adjust.
1822         (darwin_mourn_inferior): Adjust, don't free private data.
1823         (darwin_reply_to_all_pending_messages): Adjust.
1824         (darwin_stop_inferior): Adjust.
1825         (darwin_setup_exceptions): Adjust.
1826         (darwin_kill_inferior): Adjust.
1827         (darwin_setup_request_notification): Adjust.
1828         (darwin_attach_pid): Adjust.
1829         (darwin_init_thread_list): Adjust.
1830         (darwin_setup_fake_stop_event): Adjust.
1831         (darwin_attach): Adjust.
1832         (darwin_detach): Adjust.
1833         (darwin_xfer_partial): Adjust.
1834         (set_enable_mach_exceptions): Adjust.
1835         (darwin_pid_to_exec_file): Adjust.
1836         (darwin_get_ada_task_ptid): Adjust.
1837         * darwin-nat-info.c (get_task_from_args): Adjust.
1838         (info_mach_ports_command): Adjust.
1839         (info_mach_region_command): Adjust.
1840         (info_mach_exceptions_command): Adjust.
1841         * remote.c (private_inferior): Rename to ...
1842         (remote_private_inferior): ... this, initialize fields.
1843         (get_remote_inferior); New.
1844         (remote_commit_resume): Use get_remote_inferior.
1845         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1847 2017-11-24  Pedro Alves  <palves@redhat.com>
1849         * NEWS: Mention linespecs and explicit locations, and completion
1850         improvements.
1852 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1854         * regcache.c (regcache::dump): Remove footnote_register_size.
1856 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1858         * regcache.c (cooked_read_test): Add more test for readonly
1859         regcache.
1861 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1863         * gdbarch-selftests.c (test_target_has_registers): Move it to
1864         target.c.
1865         (test_target_has_stack): Likewise.
1866         (test_target_has_memory): Likewise.
1867         (test_target_prepare_to_store): Likewise.
1868         (test_target_store_registers): Likewise.
1869         (test_target_ops): Likewise.
1870         * regcache.c: Include selftest-arch.h and gdbthread.h.
1871         (target_ops_no_register): New class.
1872         (test_target_fetch_registers): New.
1873         (test_target_store_registers): New.
1874         (test_target_xfer_partial): New.
1875         (readwrite_regcache): New.
1876         (cooked_read_test): New.
1877         (_initialize_regcache): Register the test.
1878         * target.c: (test_target_has_registers): Moved from
1879         gdbarch-selftests.c.
1880         (test_target_has_stack): Likewise.
1881         (test_target_has_memory): Likewise.
1882         (test_target_prepare_to_store): Likewise.
1883         (test_target_store_registers): Likewise.
1884         * target.h (test_target_ops): New class.
1886 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1888         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1889         selftest.
1891 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1893         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1894         * arch/aarch64.c (aarch64_create_target_description): Create
1895         new target description.
1896         * features/Makefile: Add new files.
1897         * features/aarch64.c: Remove file.
1898         * features/aarch64-core.c: New autogenerated file.
1899         * features/aarch64-fpu.c: New autogenerated file.
1900         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1902 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1904         * Makefile.in: Add new files.
1905         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1906         aarch64_read_description.
1907         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1908         Call aarch64_read_description.
1909         * aarch64-tdep.c (aarch64_read_description): New function.
1910         (aarch64_gdbarch_init): Call aarch64_read_description.
1911         * aarch64-tdep.h (aarch64_read_description): New function.
1912         * arch/aarch64.c: New file.
1913         * configure.tgt: Add new files.
1915 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1917         * mi/mi-main.c (register_changed_p): Update.
1918         * value.c (value_contents_bits_eq): Change return type.
1919         (value_contents_eq): Likewise.
1920         * value.h: Update comments.
1922 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1924         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1925         local 'changed'.  Remove error.
1926         (register_changed_p): Change return type to bool.
1928 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1930         * arch/tic6x.c: New file.
1931         * arch/tic6x.h: New file.
1932         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1933         tic6x-core.xml and tic6x-gp.xml.
1934         * features/tic6x-c6xp.c: Generated.
1935         * features/tic6x-core.c: Generated.
1936         * features/tic6x-gp.c: Generated.
1937         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1938         "tic6x-".
1940 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1942         * mi/mi-main.c (list_available_thread_groups): Change map value
1943         type to std::vector.
1945 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1947         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1949 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1951         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1952         back to...
1953         <children_requested>: ... this.
1954         (varobj_get_num_children, varobj_update): Adjust.
1956 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1958         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1959         (ada_value_has_mutated): Likewise.
1960         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1961         (c_is_path_expr_parent): Likewise.
1962         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1963         (mi_cmd_var_set_frozen): Likewise.
1964         (mi_cmd_var_update_iter): Likewise.
1965         (mi_cmd_var_update): Likewise.
1966         * varobj.c (pretty_printing): Likewise.
1967         (varobj_enable_pretty_printing): Likewise.
1968         (struct varobj_root) <floating, is_valid>: Likewise.
1969         (struct varobj_dynamic) <children_requested>: Likewise.
1970         (delete_variable): Likewise.
1971         (delete_variable_1): Likewise.
1972         (install_variable): Likewise.
1973         (update_type_if_necessary): Likewise.
1974         (install_new_value): Likewise.
1975         (value_of_root): Likewise.
1976         (is_root_p): Likewise.
1977         (varobj_create): Likewise.
1978         (varobj_delete): Likewise.
1979         (varobj_has_more): Likewise.
1980         (varobj_set_frozen): Likewise.
1981         (varobj_get_frozen): Likewise.
1982         (install_dynamic_child): Likewise.
1983         (dynamic_varobj_has_child_method): Likewise.
1984         (update_dynamic_varobj_children): Likewise.
1985         (varobj_get_num_children): Likewise.
1986         (varobj_list_children): Likewise.
1987         (is_path_expr_parent): Likewise.
1988         (varobj_default_is_path_expr_parent): Likewise.
1989         (varobj_is_dynamic_p): Likewise.
1990         (varobj_set_value): Likewise.
1991         (varobj_value_has_mutated): Likewise.
1992         (varobj_update): Likewise.
1993         (check_scope): Likewise.
1994         (value_of_root_1): Likewise.
1995         (varobj_value_get_print_value): Likewise.
1996         (varobj_editable_p): Likewise.
1997         (varobj_value_is_changeable_p): Likewise.
1998         (varobj_floating_p): Likewise.
1999         (varobj_default_value_is_changeable_p): Likewise.
2000         (varobj_invalidate_iter): Likewise.
2001         * varobj.h (struct varobj_update_result) <type_changed,
2002         children_changed, changed, value_installed>: Likewise.
2003         (struct varobj) <updated, frozen, not_fetched>: Likewise.
2004         (struct lang_varobj_ops) <value_is_changeable_p,
2005         value_has_mutated, is_path_expr_parent>: Likewise.
2006         (varobj_delete): Likewise.
2007         (varobj_set_frozen): Likewise.
2008         (varobj_get_frozen): Likewise.
2009         (varobj_set_value): Likewise.
2010         (varobj_update): Likewise.
2011         (varobj_editable_p): Likewise.
2012         (varobj_floating_p): Likewise.
2013         (varobj_has_more): Likewise.
2014         (varobj_is_dynamic_p): Likewise.
2015         (varobj_default_value_is_changeable_p): Likewise.
2016         (varobj_value_is_changeable_p): Likewise.
2017         (varobj_is_anonymous_child): Likewise.
2018         (varobj_default_is_path_expr_parent): Likewise.
2020 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
2022         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
2023         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
2024         <type_str>: Convert to 'std::string'.
2025         <expr>: Convert to 'expression_up'.
2026         (dtrace_probe_arg_s): Delete type and VEC.
2027         (dtrace_probe_enabler_s): Likewise.
2028         (struct dtrace_probe): Replace by...
2029         (class dtrace_static_probe_ops): ...this and...
2030         (class dtrace_probe): ...this.
2031         (dtrace_probe_is_linespec): Rename to...
2032         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
2033         to reflect change.
2034         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
2035         Adjust code.  Create new instance of 'dtrace_probe'.
2036         (dtrace_build_arg_exprs): Rename to...
2037         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
2038         reflect change.
2039         (dtrace_get_probes): Rename to...
2040         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
2041         to reflect change.
2042         (dtrace_get_arg): Rename to...
2043         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
2044         reflect change.
2045         (dtrace_probe_is_enabled): Rename to...
2046         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
2047         change.
2048         (dtrace_get_probe_address): Rename to...
2049         (dtrace_probe::get_relocated_address): ...this.  Adjust code
2050         to reflect change.
2051         (dtrace_get_probe_argument_count): Rename to...
2052         (dtrace_probe::get_argument_count): ...this.  Adjust code to
2053         reflect change.
2054         (dtrace_can_evaluate_probe_arguments): Rename to...
2055         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
2056         to reflect change.
2057         (dtrace_evaluate_probe_argument): Rename to...
2058         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
2059         reflect change.
2060         (dtrace_compile_to_ax): Rename to...
2061         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
2062         reflect change.
2063         (dtrace_probe_destroy): Delete.
2064         (dtrace_type_name): Rename to...
2065         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
2066         reflect change.
2067         (dtrace_probe::get_static_ops): New method.
2068         (dtrace_gen_info_probes_table_header): Rename to...
2069         (dtrace_static_probe_ops::gen_info_probes_table_header):
2070         ...this.  Adjust code to reflect change.
2071         (dtrace_gen_info_probes_table_values): Rename to...
2072         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
2073         code to reflect change.
2074         (dtrace_enable_probe): Rename to...
2075         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
2076         change.
2077         (dtrace_disable_probe): Rename to...
2078         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
2079         change.
2080         (struct probe_ops dtrace_probe_ops): Delete.
2081         (info_probes_dtrace_command): Call 'info_probes_for_spops'
2082         instead of 'info_probes_for_ops'.
2083         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
2084         of 'all_probe_ops'.
2086 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
2087             Simon Marchi  <simark@simark.ca>
2089         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
2090         variable.
2091         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
2092         <aexpr>: Change type to 'expression_up'.
2093         (stap_probe_arg_s): Delete type and VEC.
2094         (struct stap_probe): Delete.  Replace by...
2095         (class stap_static_probe_ops): ...this and...
2096         (class stap_probe): ...this.  Rename variables to add 'm_'
2097         prefix.  Do not use 'union' for arguments anymore.
2098         (stap_get_expected_argument_type): Receive probe name instead
2099         of 'struct stap_probe'.  Adjust code.
2100         (stap_parse_probe_arguments): Rename to...
2101         (stap_probe::parse_arguments): ...this.  Adjust code to
2102         reflect change.
2103         (stap_get_probe_address): Rename to...
2104         (stap_probe::get_relocated_address): ...this.  Adjust code
2105         to reflect change.
2106         (stap_get_probe_argument_count): Rename to...
2107         (stap_probe::get_argument_count): ...this.  Adjust code
2108         to reflect change.
2109         (stap_get_arg): Rename to...
2110         (stap_probe::get_arg_by_number'): ...this. Adjust code to
2111         reflect change.
2112         (can_evaluate_probe_arguments): Rename to...
2113         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
2114         to reflect change.
2115         (stap_evaluate_probe_argument): Rename to...
2116         (stap_probe::evaluate_argument): ...this.  Adjust code
2117         to reflect change.
2118         (stap_compile_to_ax): Rename to...
2119         (stap_probe::compile_to_ax): ...this.  Adjust code to
2120         reflect change.
2121         (stap_probe_destroy): Delete.
2122         (stap_modify_semaphore): Adjust comment.
2123         (stap_set_semaphore): Rename to...
2124         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
2125         change.
2126         (stap_clear_semaphore): Rename to...
2127         (stap_probe::clear_semaphore): ...this.  Adjust code to
2128         reflect change.
2129         (stap_probe::get_static_ops): New method.
2130         (handle_stap_probe): Adjust code to create instance of
2131         'stap_probe'.
2132         (stap_get_probes): Rename to...
2133         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
2134         reflect change.
2135         (stap_probe_is_linespec): Rename to...
2136         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
2137         reflect change.
2138         (stap_type_name): Rename to...
2139         (stap_static_probe_ops::type_name): ...this.  Adjust code to
2140         reflect change.
2141         (stap_gen_info_probes_table_header): Rename to...
2142         (stap_static_probe_ops::gen_info_probes_table_header):
2143         ...this.  Adjust code to reflect change.
2144         (stap_gen_info_probes_table_values): Rename to...
2145         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
2146         code to reflect change.
2147         (struct probe_ops stap_probe_ops): Delete.
2148         (info_probes_stap_command): Use 'info_probes_for_spops'
2149         instead of 'info_probes_for_ops'.
2150         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
2151         of 'all_probe_ops'.
2153 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
2155         * break-catch-throw.c (fetch_probe_arguments): Use
2156         'probe.prob' instead of 'probe.probe'.
2157         * breakpoint.c (create_longjmp_master_breakpoint): Call
2158         'can_evaluate_arguments' and 'get_relocated_address' methods
2159         from probe.
2160         (create_exception_master_breakpoint): Likewise.
2161         (add_location_to_breakpoint): Use 'sal->prob' instead of
2162         'sal->probe'.
2163         (bkpt_probe_insert_location): Call 'set_semaphore' method from
2164         probe.
2165         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
2166         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
2167         of 'probe_ops'.
2168         (probe_key_free): Call 'delete' on probe.
2169         (check_exception_resume): Use 'probe.prob' instead of
2170         'probe.probe'.
2171         * location.c (string_to_event_location_basic): Call
2172         'probe_linespec_to_static_ops'.
2173         * probe.c (class any_static_probe_ops): New class.
2174         (any_static_probe_ops any_static_probe_ops): New variable.
2175         (parse_probes_in_pspace): Receive 'static_probe_ops' as
2176         argument.  Adjust code to reflect change.
2177         (parse_probes): Use 'static_probe_ops' instead of
2178         'probe_ops'.  Adjust code to reflect change.
2179         (find_probes_in_objfile): Call methods to get name and
2180         provider from probe.
2181         (find_probe_by_pc): Use 'result.prob' instead of
2182         'result.probe'.  Call 'get_relocated_address' method from
2183         probe.
2184         (collect_probes): Adjust comment and argument list to receive
2185         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
2186         reflect change.  Call necessary methods from probe.
2187         (compare_probes): Call methods to get name and provider from
2188         probes.
2189         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
2190         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
2191         adjust code accordingly.
2192         (print_ui_out_not_applicables): Likewise.
2193         (info_probes_for_ops): Rename to...
2194         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
2195         as argument instead of 'probe_ops'.  Adjust code.  Call
2196         necessary methods from probe.
2197         (info_probes_command): Use 'info_probes_for_spops'.
2198         (enable_probes_command): Pass correct argument to
2199         'collect_probes'.  Call methods from probe.
2200         (disable_probes_command): Likewise.
2201         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
2202         (get_probe_argument_count): Move to
2203         'any_static_probe_ops::get_argument_count'.
2204         (can_evaluate_probe_arguments): Move to
2205         'any_static_probe_ops::can_evaluate_arguments'.
2206         (evaluate_probe_argument): Move to
2207         'any_static_probe_ops::evaluate_argument'.
2208         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
2209         'probe.probe'.
2210         (probe_linespec_to_ops): Rename to...
2211         (probe_linespec_to_static_ops): ...this.  Adjust code.
2212         (probe_any_is_linespec): Rename to...
2213         (any_static_probe_ops::is_linespec): ...this.
2214         (probe_any_get_probes): Rename to...
2215         (any_static_probe_ops::get_probes): ...this.
2216         (any_static_probe_ops::type_name): New method.
2217         (any_static_probe_ops::gen_info_probes_table_header): New
2218         method.
2219         (compute_probe_arg): Use 'pc_probe.prob' instead of
2220         'pc_probe.probe'.  Call methods from probe.
2221         (compile_probe_arg): Likewise.
2222         (std::vector<const probe_ops *> all_probe_ops): Delete.
2223         (std::vector<const static_probe_ops *> all_static_probe_ops):
2224         New variable.
2225         (_initialize_probe): Use 'all_static_probe_ops' instead of
2226         'all_probe_ops'.
2227         * probe.h (struct info_probe_column) <field_name>: Delete
2228         extraneous newline
2229         (info_probe_column_s): Delete type and VEC.
2230         (struct probe_ops): Delete.  Replace with...
2231         (class static_probe_ops): ...this and...
2232         (clas probe): ...this.
2233         (struct bound_probe) <bound_probe>: Delete extraneous
2234         newline.  Adjust constructor to receive 'probe' instead of
2235         'struct probe'.
2236         <probe>: Rename to...
2237         <prob>: ...this.  Delete extraneous newline.
2238         <objfile>: Delete extraneous newline.
2239         (register_probe_ops): Delete unused prototype.
2240         (info_probes_for_ops): Rename to...
2241         (info_probes_for_spops): ...this.  Adjust comment.
2242         (get_probe_address): Move to 'probe::get_address'.
2243         (get_probe_argument_count): Move to
2244         'probe::get_argument_count'.
2245         (can_evaluate_probe_arguments): Move to
2246         'probe::can_evaluate_arguments'.
2247         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
2248         * solib-svr4.c (struct svr4_info): Adjust comment.
2249         (struct probe_and_action) <probe>: Rename to...
2250         <prob>: ...this.
2251         (register_solib_event_probe): Receive 'probe' instead of
2252         'struct probe' as argument.  Use 'prob' instead of 'probe'
2253         when applicable.
2254         (solib_event_probe_action): Call 'get_argument_count' method
2255         from probe.  Adjust comment.
2256         (svr4_handle_solib_event): Adjust comment.  Call
2257         'evaluate_argument' method from probe.
2258         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
2259         from probe.
2260         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
2261         'struct probe'.  Call 'can_evaluate_arguments' from probe.
2262         * symfile.h: Forward declare 'class probe' instead of 'struct
2263         probe'.
2264         * symtab.h: Likewise.
2265         (struct symtab_and_line) <probe>: Rename to...
2266         <prob>: ...this.
2267         * tracepoint.c (start_tracing): Use 'prob' when applicable.
2268         Call probe methods.
2269         (stop_tracing): Likewise.
2271 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
2273         * ravenscar-thread.c (ravenscar_inferior_created): Remove
2274         trailing newline at end of string in call to warning.
2276 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2278         * osdata.h: Include vector isntead of vec.h.
2279         (osdata_column_s): Remove typedef.
2280         (struct osdata_column): Add constructor.
2281         <name, value>: Change type to std::string.
2282         (DEF_VEC_O (osdata_column_s)): Remove.
2283         (osdata_item_s): Remove typedef.
2284         (struct osdata_item) <columns>: Change type to std::vector.
2285         (DEF_VEC_O (osdata_item_s)): Remove.
2286         (struct osdata): Add constructor.
2287         <type>: Change type to std::string.
2288         <items>: Change type to std::vector.
2289         (osdata_p): Remove typedef.
2290         (DEF_VEC_P (osdata_p)): Remove.
2291         (osdata_parse): Return a unique_ptr.
2292         (osdata_free): Remove.
2293         (make_cleanup_osdata_free): Remove.
2294         (get_osdata): Return a unique_ptr.
2295         (get_osdata_column): Return pointer to std::string, take a
2296         reference to osdata_item as parameter.
2297         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
2298         unique_ptr.
2299         <property_name>: Change type to std::string.
2300         (osdata_start_osdata): Allocate osdata with new and adjust.
2301         (osdata_start_item): Adjust.
2302         (osdata_start_column): Adjust.
2303         (osdata_end_column): Adjust.
2304         (clear_parsing_data): Remove.
2305         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
2306         (osdata_item_clear): Remove.
2307         (get_osdata): return a unique_ptr and adjust.
2308         (get_osdata_column): Return a pointer to std::string and adjust.
2309         (info_osdata): Adjust.
2310         * mi/mi-main.c: Include <map>.
2311         (free_vector_of_osdata_items): Remove.
2312         (list_available_thread_groups): Adjust, use std::map instead of
2313         splay tree.
2315 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
2317         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
2318         case in switch.
2320 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2322         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
2324 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2326         * varobj.h (struct varobj_update_result): Add constructor, add
2327         move constructor, disable copy and assign, initialize fields.
2328         <newobj>: Change type to std::vector.
2329         (varobj_update): Return std::vector.
2330         * varobj.c (install_dynamic_child): Change VEC parameters to
2331         std::vector and adjust.
2332         (update_dynamic_varobj_children): Likewise.
2333         (varobj_update): Return std::vector and adjust.
2334         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
2336 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2338         * varobj.h (struct varobj) <parent>: Remove const.
2339         <children>: Change type to std::vector.
2340         (varobj_list_children): Return std::vector const reference.
2341         (varobj_restrict_range): Change parameter type to std::vector
2342         const reference.
2343         * varobj.c (varobj_has_more): Adjust.
2344         (varobj_restrict_range): Change parameter type to std::vector
2345         const reference and adjust.
2346         (install_dynamic_child): Adjust.
2347         (update_dynamic_varobj_children): Adjust.
2348         (varobj_list_children): Return std::vector const reference and
2349         adjust.
2350         (varobj_add_child): Adjust.
2351         (update_type_if_necessary): Adjust.
2352         (varobj_update): Adjust.
2353         (delete_variable_1): Adjust.
2354         * ada-varobj.c (ada_value_has_mutated): Adjust.
2355         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2357 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2359         * varobj.h (struct varobj): Add constructor and destructor,
2360         initialize fields.
2361         * varobj.c (struct varobj_root): Initialize fields.
2362         (struct varobj_dynamic): Initialize fields.
2363         (varobj_create): Use unique_ptr instead of cleanup.  Create
2364         varobj with new instead of new_root_variable.
2365         (delete_variable_1): Free variable with delete instead of
2366         free_variable.
2367         (create_child_with_value): Create variable with new instead of
2368         new_variable.
2369         (varobj::varobj): New.
2370         (varobj::~varobj): New (body mostly coming from free_variable).
2371         (new_variable): Remove.
2372         (free_variable): Remove.
2373         (do_free_variable_cleanup): Remove.
2374         (make_cleanup_free_variable): Remove.
2376 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2378         * core-regset.c: Remove file.
2379         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2381 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2383         * NEWS: Document use of GNU MPFR.
2384         * README: Likewise.
2386         * Makefile.in (LIBMPFR): Add define.
2387         (CLIBS): Add $(LIBMPFR).
2388         * configure.ac: Add --with-mpfr configure option.
2389         * configure: Regenerate.
2390         * config.in: Regenerate.
2392         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2393         (class mpfr_float_ops): New type.
2394         (mpfr_float_ops::from_target): Two new overloaded functions.
2395         (mpfr_float_ops::to_target): Likewise.
2396         (mpfr_float_ops::to_string): New function.
2397         (mpfr_float_ops::from_string): Likewise.
2398         (mpfr_float_ops::to_longest): Likewise.
2399         (mpfr_float_ops::from_longest): Likewise.
2400         (mpfr_float_ops::from_ulongest): Likewise.
2401         (mpfr_float_ops::to_host_double): Likewise.
2402         (mpfr_float_ops::from_host_double): Likewise.
2403         (mpfr_float_ops::convert): Likewise.
2404         (mpfr_float_ops::binop): Likewise.
2405         (mpfr_float_ops::compare): Likewise.
2406         (get_target_float_ops): Use mpfr_float_ops if available.
2408 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2410         * target-float.c: Do not include <math.h>.
2411         Include <cmath> and <limits>.
2412         (DOUBLEST): Do not define.
2413         (class target_float_ops): New type.
2414         (class host_float_ops): New templated type.
2415         (class decimal_float_ops): New type.
2417         (floatformat_to_doublest): Rename to ...
2418         (host_float_ops<T>::from_target): ... this.  Use template type T
2419         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2420         (host_float_ops<T>::from_target): New overload using a type argument.
2421         (floatformat_from_doublest): Rename to ...
2422         (host_float_ops<T>::to_target): ... this.  Use template type T
2423         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2424         (host_float_ops<T>::to_target): New overload using a type argument.
2425         (floatformat_printf_format): New function.
2426         (struct printf_length_modifier): New templated type.
2427         (floatformat_to_string): Rename to ...
2428         (host_float_ops<T>::to_string): ... this.  Use type instead of
2429         floatformat argument.  Use floatformat_printf_format and
2430         printf_length_modifier.  Remove special handling of invalid numbers,
2431         infinities and NaN (moved to target_float_to_string).
2432         (struct scanf_length_modifier): New templated type.
2433         (floatformat_from_string): Rename to ...
2434         (host_float_ops<T>::from_string): ... this.  Use type instead of
2435         floatformat argument.  Use scanf_length_modifier.
2436         (floatformat_to_longest): Rename to ...
2437         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2438         floatformat argument.  Handle out-of-range values deterministically.
2439         (floatformat_from_longest): Rename to ...
2440         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2441         floatformat argument.
2442         (floatformat_from_ulongest): Rename to ...
2443         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2444         floatformat argument.
2445         (floatformat_to_host_double): Rename to ...
2446         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2447         floatformat argument.
2448         (floatformat_from_host_double): Rename to ...
2449         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2450         floatformat argument.
2451         (floatformat_convert): Rename to ...
2452         (host_float_ops<T>::convert): ... this.  Use type instead of
2453         floatformat arguments.  Remove handling of no-op conversions.
2454         (floatformat_binop): Rename to ...
2455         (host_float_ops<T>::binop): ... this.  Use type instead of
2456         floatformat arguments.
2457         (floatformat_compare): Rename to ...
2458         (host_float_ops<T>::compare): ... this.  Use type instead of
2459         floatformat arguments.
2461         (match_endianness): Use type instead of length/byte_order arguments.
2462         (set_decnumber_context): Likewise.
2463         (decimal_from_number): Likewise.  Update calls.
2464         (decimal_to_number): Likewise.
2465         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2466         (decimal_float_ops::to_host_double): New dummy function.
2467         (decimal_float_ops::from_host_double): Likewise.
2468         (decimal_to_string): Rename to ...
2469         (decimal_float_ops::to_string): ... this.  Use type instead of
2470         length/byte_order arguments.  Update calls.
2471         (decimal_from_string): Rename to ...
2472         (decimal_float_ops::from_string): ... this.  Use type instead of
2473         length/byte_order arguments.  Update calls.
2474         (decimal_from_longest): Rename to ...
2475         (decimal_float_ops::from_longest): ... this.  Use type instead of
2476         length/byte_order arguments.  Update calls.
2477         (decimal_from_ulongest): Rename to ...
2478         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2479         length/byte_order arguments.  Update calls.
2480         (decimal_to_longest): Rename to ...
2481         (decimal_float_ops::to_longest): ... this.  Use type instead of
2482         length/byte_order arguments.  Update calls.
2483         (decimal_binop): Rename to ...
2484         (decimal_float_ops::binop): ... this.  Use type instead of
2485         length/byte_order arguments.  Update calls.
2486         (decimal_compare): Rename to ...
2487         (decimal_float_ops::compare): ... this.  Use type instead of
2488         length/byte_order arguments.  Update calls.
2489         (decimal_convert): Rename to ...
2490         (decimal_float_ops::convert): ... this.  Use type instead of
2491         length/byte_order arguments.  Update calls.
2493         (target_float_same_category_p): New function.
2494         (target_float_same_format_p): Likewise.
2495         (target_float_format_length): Likewise.
2496         (enum target_float_ops_kind): New type.
2497         (get_target_float_ops_kind): New function.
2498         (get_target_float_ops): Three new overloaded functions.
2500         (target_float_is_zero): Update call.
2501         (target_float_to_string): Add special handling of invalid numbers,
2502         infinities and NaN (moved from floatformat_to_string).  Use
2503         target_float_ops callback.
2504         (target_float_from_string): Use target_float_ops callback.
2505         (target_float_to_longest): Likewise.
2506         (target_float_from_longest): Likewise.
2507         (target_float_from_ulongest): Likewise.
2508         (target_float_to_host_double): Likewise.
2509         (target_float_from_host_double): Likewise.
2510         (target_float_convert): Add special case for no-op conversions.
2511         Use target_float_ops callback.
2512         (target_float_binop): Use target_float_ops callback.
2513         (target_float_compare): Likewise.
2515 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2517         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2519 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2521         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2522         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2524 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2526         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2527         with event ptid from the lower layer before doing the
2528         ravenscar-specific update.
2530 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2532         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2533         the ptid's TID is nonzero.
2535 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2537         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2538         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2539         Make non-static.  Change return type to char *.  Adjust code
2540         accordingly.  Rewrite the function's documentation.
2541         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2542         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2543         we have enough debugging information in the runtime to support
2544         Ada task debugging before we enable the ravenscar-thread layer.
2546 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2548         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2549         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2550         * ravenscar-thread.c: Add into comment.
2551         (base_magic_null_ptid): Delete.
2552         (base_ptid): Change documentation.
2553         (ravenscar_active_task): Renames ravenscar_running_thread.
2554         All callers updated throughout.
2555         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2556         (ravenscar_task_is_currently_active): Likewise.
2557         (get_base_thread_from_ravenscar_task): Ditto.
2558         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2559         (ravenscar_runtime_initialized): Likewise.
2560         (get_running_thread_id): Add new parameter "cpu".  Adjust
2561         implementation to handle this new parameter.
2562         (ravenscar_fetch_registers): Small adjustment to use
2563         is_ravenscar_task and ravenscar_task_is_currently_active in
2564         order to decide whether to use the target beneath or this
2565         module's arch_ops.
2566         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2567         (ravenscar_stopped_by_sw_breakpoint): Use
2568         get_base_thread_from_ravenscar_task to get the underlying
2569         thread, rather than using base_ptid.
2570         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2571         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2572         Likewise.
2573         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2575 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2577         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2578         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2579         (get_tcb_types_info): Set fieldnos.base_cpu.
2580         (read_atcb): Set task_info->base_cpu.
2581         (info_task): Print "Base CPU" info if set by runtime.
2583 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2585         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2586         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2587         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2588         New functions.
2589         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2590         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2591         to_stopped_data_address and to_core_of_thread fields of
2592         ravenscar_ops.
2594 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2596         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2597         (struct gdbarch_tdep): New member long_double_abi.
2598         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2599         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2600         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2601         format depending on long_double_abi tdep member.
2602         (ppc_floatformat_for_type): Handle __ibm128 type.
2604 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2606         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2608 2017-11-21  Pedro Alves  <palves@redhat.com>
2610         * dwarf2read.c (mapped_index::find_name_components_bounds)
2611         <completion mode, upper bound>: Use std::lower_bound instead of
2612         std::upper_bound.
2613         (test_mapped_index_find_name_component_bounds): Remove incorrect
2614         "t1_fund" from expected symbols.
2616 2017-11-21  Pedro Alves  <palves@redhat.com>
2618         * dwarf2read.c (mapped_index::name_components_casing): New field.
2619         (mapped_index) <build_name_components,
2620         find_name_components_bounds): Declare new methods.
2621         (mapped_index::find_name_components_bounds)
2622         (mapped_index::build_name_components): New methods, factored out
2623         from dw2_expand_symtabs_matching_symbol.
2624         (check_find_bounds_finds)
2625         (test_mapped_index_find_name_component_bounds): New.
2626         (run_test): Rename to ...
2627         (test_dw2_expand_symtabs_matching_symbol): ... this.
2628         (run_test): Reimplement.
2630 2017-11-21  Pedro Alves  <palves@redhat.com>
2632         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2633         (symbol_end): Use cp_ident_is_alnum.
2634         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2635         * dwarf2read.c (make_sort_after_prefix_name): New function.
2636         (dw2_expand_symtabs_matching_symbol): Use it.
2637         (test_symbols): Add more symbols.
2638         (run_test): Add tests.
2640 2017-11-17  Tom Tromey  <tom@tromey.com>
2642         * symtab.h (enum symbol_subclass_kind): New.
2643         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2644         Remove.
2645         <subclass>: New member.
2646         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2647         * rust-lang.c (rust_get_trait_object_pointer): Update.
2648         * dwarf2read.c (read_func_scope): Update.
2649         (read_variable): Update.
2651 2017-11-17  Tom Tromey  <tom@tromey.com>
2653         * dwarf2read.c (read_func_scope): Update.
2654         * symtab.h (struct template_symbol): Derive from symbol.
2655         <base>: Remove.
2657 2017-11-17  Tom Tromey  <tom@tromey.com>
2659         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2660         (struct rust_vtable_symbol): New.
2661         (find_symbol_at_address): Declare.
2662         * symtab.c (find_symbol_at_address): New function.
2663         * symfile.h (struct quick_symbol_functions)
2664         <find_compunit_symtab_by_address>: New member.
2665         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2666         function.
2667         (debug_sym_quick_functions): Link to
2668         debug_qf_find_compunit_symtab_by_address.
2669         * rust-lang.c (rust_get_trait_object_pointer): New function.
2670         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2671         rust_get_trait_object_pointer.
2672         * psymtab.c (psym_relocate): Clear psymbol_map.
2673         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2674         functions.
2675         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2676         * objfiles.h (struct objfile) <psymbol_map>: New member.
2677         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2678         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2679         (rust_containing_type, read_variable): New functions.
2681 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2683         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2685 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2687         * common/filestuff.c: Include <algorithm>.
2688         (open_fds): Change type to std::vector<int>.
2689         (do_mark_open_fd): Adjust.
2690         (unmark_fd_no_cloexec): Adjust.
2691         (do_close): Adjust.
2693 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2695         * breakpoint.c (output_thread_groups): Take an std::vector.
2696         (print_one_breakpoint_location): Adjust.
2698 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2700         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2701         (ada_evaluate_subexp_for_cast): New function.
2702         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2703         ada_evaluate_subexp_for_cast.
2704         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2705         eval_skip_value.
2706         * eval.c (evaluate_var_value): Make non-static.
2707         (evaluate_var_msym_value, eval_skip_value): Likewise.
2708         * value.h (evaluate_var_value, evaluate_var_msym_value)
2709         (eval_skip_value): Declare.
2711 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2713         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2714         Update all callers.
2716 2017-11-16  Pedro Alves  <palves@redhat.com>
2718         * python/py-unwind.c (pyuw_sniffer): Translate
2719         PyExc_KeyboardInterrupt to a GDB Quit exception.
2721 2017-11-16  Pedro Alves  <palves@redhat.com>
2723         * infrun.c (resume_cleanups): Delete.
2724         (resume): No longer install a resume_cleanups cleanup nor call
2725         QUIT.
2726         (proceed): Pass the terminal to the inferior.
2727         (keep_going_pass_signal): No longer install a resume_cleanups
2728         cleanup.
2730 2017-11-16  Pedro Alves  <palves@redhat.com>
2732         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2733         if the prompt is blocked.
2735 2017-11-16  Pedro Alves  <palves@redhat.com>
2737         * breakpoint.c (insert_bp_location): Replace bp_err and
2738         bp_err_message locals by a gdb_exception local.
2740 2017-11-16  Pedro Alves  <palves@redhat.com>
2742         * inflow.c (scoped_ignore_sigttou): New class.
2743         (child_terminal_ours_1, new_tty): Use it.
2745 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2747         * target-float.c (decimal_from_number): Add byte_order argument and
2748         call match_endianness.  Error if unknown floating-point type.
2749         (decimal_to_number): Add byte_order argument and call match_endianness.
2750         (decimal_from_longest): Update call.  Do not call match_endianness.
2751         (decimal_from_ulongest): Likewise.
2752         (decimal_binop): Likewise.
2753         (decimal_is_zero): Likewise.
2754         (decimal_compare): Likewise.
2755         (decimal_convert): Likewise.
2757 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2759         * python/python.c (gdbpy_rbreak): New function.
2760         * NEWS: Document Python rbreak feature.
2762 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2764         * features/tic6x-c62x.xml: Remove.
2765         * features/tic6x-c64x.xml: Remove.
2766         * features/tic6x-c64xp.xml: Remove.
2768 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2770         * symtab.h: Include <array>.
2772 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2774         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2775         (bsd_kvm_proc_cmd): Likewise.
2777 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2779         * tui/tui-win.c (window_name_completer): Replace VEC with
2780         std::vector.
2782 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2784         * MAINTAINERS: Remove no-longer applicable entries.
2786 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2788         * MAINTAINERS: Move self to Past Maintainers.
2790 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2792         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2793         * features/nios2-linux.c: Remove.
2794         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2795         initialize_tdesc_nios2_linux.
2797 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2799         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2800         M68HC11_LAST_HARD_REG + 1.
2802 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2804         PR gdb/22388
2805         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2806         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2807         Return TARGET_XFER_EOF if size of returned data is 0.
2809 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2811         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2812         memory-map-selftests.c.
2813         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2814         * memory-map.c (memory_map_start_memory): Fix computation of hi
2815         address.
2816         * unittests/memory-map-selftests.c: New file.
2818 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2820         * ada-lang.c: Fix some typos in the general command documenting
2821         how Ada expressions are being evaluated and how their result
2822         is printed.
2824 2017-11-09  Tom Tromey  <tom@tromey.com>
2826         * psymtab.c (psymbol_hash): Do not hash string contents.
2827         (psymbol_compare): Add comment.
2829 2017-11-09  Tom Tromey  <tom@tromey.com>
2831         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2833 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2835         * ada-exp.y (write_var_from_sym): Remove parameter
2836         "orig_left_context".  Update all callers.
2838 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2840         * tracepoint.h (class collection_list) <stringify>: Return
2841         std::vector<std::string>.
2842         (encode_actions_rsp): Change parameters to
2843         std::vector<std::string> *.
2844         * tracepoint.c (collection_list::stringify): Return
2845         std::vector<std::string> and adjust accordingly.
2846         (encode_actions_rsp): Changee parameters to
2847         std::vector<std::string> and adjust accordingly.
2848         * remote.c (free_actions_list),
2849         free_actions_list_cleanup_wrapper): Remove.
2850         (remote_download_tracepoint): Adjust to std::vector.
2852 2017-11-08  Tom Tromey  <tom@tromey.com>
2854         * dwarf2read.c (symbolp): Remove typedef.
2855         (read_func_scope): Use std::vector.
2856         (process_structure_scope): Use std::vector.
2858 2017-11-08  Pedro Alves  <palves@redhat.com>
2860         * ada-lang.c (ada_make_symbol_completion_list): Use
2861         completion_skip_symbol.
2862         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2863         (symbol_is_function_or_method(symbol*)): New.
2864         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2865         completion_skip_symbol.
2866         (default_collect_symbol_completion_matches_break_on): Use
2867         completion_skip_symbol.  Pass down mode.
2868         (collect_file_symbol_completion_matches): Pass down mode.
2869         * symtab.h (symbol_is_function_or_method): New declarations.
2870         (completion_skip_symbol): New template function.
2872 2017-11-08  Pedro Alves  <palves@redhat.com>
2874         * linespec.c (iterate_over_all_matching_symtabs): Add
2875         search_domain parameter.  Pass it down to expand_symtabs_matching.
2876         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2877         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2878         search_domain.
2879         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2880         Pass it down.
2881         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2882         symbols.
2883         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2884         it down.
2886 2017-11-08  Pedro Alves  <palves@redhat.com>
2888         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2889         text_len locals and don't pass them down.
2890         * symtab.c (completion_list_add_name): Remove
2891         sym_text/sym_text_len parameters and adjust.
2892         (completion_list_add_symbol, completion_list_add_msymbol)
2893         (completion_list_objc_symbol, completion_list_add_fields)
2894         (add_symtab_completions): Likewise.
2895         (default_collect_symbol_completion_matches_break_on)
2896         (collect_file_symbol_completion_matches): Remove sym_text_len
2897         local and don't pass it down.
2898         * symtab.h (completion_list_add_name): Remove
2899         sym_text/sym_text_len parameters.
2901 2017-11-08  Pedro Alves  <palves@redhat.com>
2903         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2904         unittests/lookup_name_info-selftests.c.
2905         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2906         * cp-support.c: Include "selftest.h".
2907         (cp_remove_params_1): Rename from cp_remove_params.  Add
2908         'require_param' parameter, and handle it.
2909         (cp_remove_params): Reimplement.
2910         (cp_remove_params_if_any): New.
2911         (selftests::quote): New.
2912         (selftests::check_remove_params): New.
2913         (selftests::test_cp_remove_params): New.
2914         (_initialize_cp_support): Install
2915         selftests::test_cp_remove_params.
2916         * cp-support.h (cp_remove_params_if_any): Declare.
2917         * dwarf2read.c :Include "selftest.h".
2918         (dw2_expand_symtabs_matching_symbol): Use
2919         lookup_name_info::make_ignore_params.
2920         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2921         (selftests::dw2_expand_symtabs_matching::string_or_null)
2922         (selftests::dw2_expand_symtabs_matching::check_match)
2923         (selftests::dw2_expand_symtabs_matching::test_symbols)
2924         (selftests::dw2_expand_symtabs_matching::run_test): New.
2925         (_initialize_dwarf2_read): Register
2926         selftests::dw2_expand_symtabs_matching::run_test.
2927         * psymtab.c (psym_expand_symtabs_matching): Use
2928         lookup_name_info::make_ignore_params.
2929         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2930         If the lookup name wants to ignore parameters, strip them.
2931         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2932         code handling '('.
2933         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2934         (default_collect_symbol_completion_matches_break_on): Don't try to
2935         strip parameters.
2936         * symtab.h (lookup_name_info::lookup_name_info): Add
2937         'ignore_parameters' parameter.
2938         (lookup_name_info::ignore_parameters)
2939         (lookup_name_info::make_ignore_params): New methods.
2940         (lookup_name_info::m_ignore_parameters): New field.
2941         * unittests/lookup_name_info-selftests.c: New file.
2943 2017-11-08  Pedro Alves  <palves@redhat.com>
2945         * dwarf2read.c (dw2_expand_marked_cus)
2946         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2947         (dw2_expand_symtabs_matching): Move further below.
2948         (dw2_expand_marked_cus): Reindent.
2950 2017-11-08  Pedro Alves  <palves@redhat.com>
2952         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2953         (struct name_component): New.
2954         (mapped_index::name_components): New field.
2955         (mapped_index::symbol_name_at): New method.
2956         (dwarf2_read_index): Call mapped_index ctor.
2957         (dw2_map_matching_symbols): Add comment about name_components
2958         table.
2959         (dw2_expand_symtabs_matching): Factor part to...
2960         (dw2_expand_symtabs_matching_symbol): ... this new function.
2961         Build name components table, and lookup symbols in it before
2962         calling the name matcher.
2963         (dw2_expand_marked_cus): New, factored out from
2964         dw2_expand_symtabs_matching.
2965         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2967 2017-11-08   Pedro Alves  <palves@redhat.com>
2969         * ada-lang.c (ada_encode): Rename to ..
2970         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2971         it.
2972         (ada_encode): Reimplement.
2973         (match_name): Delete, folded into full_name.
2974         (resolve_subexp): No longer pass the encoded name to
2975         ada_lookup_symbol_list.
2976         (should_use_wild_match): Delete.
2977         (name_match_type_from_name): New.
2978         (ada_lookup_simple_minsym): Use lookup_name_info and the
2979         language's symbol_name_matcher_ftype.
2980         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2981         (ada_add_block_renamings): Adjust to use lookup_name_info.
2982         (ada_lookup_name): New.
2983         (add_nonlocal_symbols, ada_add_all_symbols)
2984         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2985         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2986         (ada_name_for_lookup): Delete.
2987         (ada_lookup_encoded_symbol): Construct a verbatim name.
2988         (wild_match): Reverse sense of return type.  Use bool.
2989         (full_match): Reverse sense of return type.  Inline bits of old
2990         match_name here.
2991         (ada_add_block_symbols): Adjust to use lookup_name_info.
2992         (symbol_completion_match): Delete, folded into...
2993         (ada_lookup_name_info::matches): ... .this new method.
2994         (symbol_completion_add): Delete.
2995         (ada_collect_symbol_completion_matches): Add name_match_type
2996         parameter.  Adjust to use lookup_name_info and
2997         completion_list_add_name.
2998         (get_var_value, ada_add_global_exceptions): Adjust to use
2999         lookup_name_info.
3000         (ada_get_symbol_name_cmp): Delete.
3001         (do_wild_match, do_full_match): New functions.
3002         (ada_lookup_name_info::ada_lookup_name_info): New method.
3003         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
3004         functions.
3005         (ada_language_defn): Install ada_get_symbol_name_matcher.
3006         * ada-lex.l (processId): If name starts with '<', copy it
3007         verbatim.
3008         * block.c (block_iter_match_step, block_iter_match_first)
3009         (block_iter_match_next, block_lookup_symbol)
3010         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
3011         lookup_name_info.
3012         * block.h (block_iter_match_first, block_iter_match_next)
3013         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
3014         * c-lang.c (c_language_defn, cplus_language_defn)
3015         (asm_language_defn, minimal_language_defn): Adjust comments to
3016         refer to la_get_symbol_name_matcher.
3017         * completer.c (complete_files_symbols)
3018         (collect_explicit_location_matches, symbol_completer): Pass a
3019         symbol_name_match_type down.
3020         * completer.h (class completion_match, completion_match_result):
3021         New classes.
3022         (completion_tracker::reset_completion_match_result): New method.
3023         (completion_tracker::m_completion_match_result): New field.
3024         * cp-support.c (make_symbol_overload_list_block): Adjust to use
3025         lookup_name_info.
3026         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
3027         functions.
3028         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
3029         * d-lang.c: Adjust comments to refer to
3030         la_get_symbol_name_matcher.
3031         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
3032         Adjust to use lookup_name_info.
3033         (dict_iter_match_first, dict_iter_match_next)
3034         (iter_match_first_hashed, iter_match_next_hashed)
3035         (iter_match_first_linear, iter_match_next_linear): Adjust to work
3036         with a lookup_name_info.
3037         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
3038         Likewise.
3039         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
3040         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
3041         (gdb_index_symbol_name_matcher): New class.
3042         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
3043         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
3044         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
3045         with a symbol_name_match_type.
3046         (f_language_defn): Adjust comments to refer to
3047         la_get_symbol_name_matcher.
3048         * go-lang.c (go_language_defn): Adjust comments to refer to
3049         la_get_symbol_name_matcher.
3050         * language.c (default_symbol_name_matcher)
3051         (language_get_symbol_name_matcher): New functions.
3052         (unknown_language_defn, auto_language_defn): Adjust comments to
3053         refer to la_get_symbol_name_matcher.
3054         * language.h (symbol_name_cmp_ftype): Delete.
3055         (language_defn) <la_collect_symbol_completion_matches>: Add match
3056         type parameter.
3057         <la_get_symbol_name_cmp>: Delete field.
3058         <la_get_symbol_name_matcher>: New field.
3059         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
3060         (default_symbol_name_matcher, language_get_symbol_name_matcher):
3061         Declare.
3062         * linespec.c (iterate_over_all_matching_symtabs)
3063         (iterate_over_file_blocks): Adjust to use lookup_name_info.
3064         (find_methods): Add language parameter, and use lookup_name_info
3065         and the language's symbol_name_matcher_ftype.
3066         (linespec_complete_function): Adjust.
3067         (lookup_prefix_sym): Use lookup_name_info.
3068         (add_all_symbol_names_from_pspace): Adjust.
3069         (find_superclass_methods): Add language parameter and pass it
3070         down.
3071         (find_method): Pass symbol language down.
3072         (find_linespec_symbols): Don't demangle or Ada encode here.
3073         (search_minsyms_for_name): Add lookup_name_info parameter.
3074         (add_matching_symbols_to_info): Add name_match_type parameter.
3075         Use lookup_name_info.
3076         * m2-lang.c (m2_language_defn): Adjust comments to refer to
3077         la_get_symbol_name_matcher.
3078         * minsyms.c: Include <algorithm>.
3079         (add_minsym_to_demangled_hash_table): Remove table parameter and
3080         add objfile parameter.  Use search_name_hash, and add language to
3081         demangled languages vector.
3082         (struct found_minimal_symbols): New struct.
3083         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
3084         New functions.
3085         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
3086         input names here.  Use lookup_name_info instead.  Lookup up
3087         demangled names once for each language in the demangled names
3088         vector.
3089         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
3090         demangled names once for each language in the demangled names
3091         vector.
3092         (build_minimal_symbol_hash_tables): Adjust.
3093         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
3094         lookup_name_info.
3095         * objc-lang.c (objc_language_defn): Adjust comment to refer to
3096         la_get_symbol_name_matcher.
3097         * objfiles.h: Include <vector>.
3098         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
3099         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
3100         la_get_symbol_name_matcher.
3101         * p-lang.c (pascal_language_defn): Adjust comment to refer to
3102         la_get_symbol_name_matcher.
3103         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
3104         (match_partial_symbol): Use symbol_name_match_type,
3105         lookup_name_info and psymbol_name_matches.
3106         (lookup_partial_symbol): Use lookup_name_info.
3107         (map_block): Use symbol_name_match_type and lookup_name_info.
3108         (psym_map_matching_symbols): Use symbol_name_match_type.
3109         (psymbol_name_matches): New.
3110         (recursively_search_psymtabs): Use lookup_name_info and
3111         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
3112         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
3113         'kind' parameter to 'domain'.
3114         * rust-lang.c (rust_language_defn): Adjust comment to refer to
3115         la_get_symbol_name_matcher.
3116         * symfile-debug.c (debug_qf_map_matching_symbols)
3117         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
3118         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
3119         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
3120         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
3121         Adjust to use symbol_name_match_type.
3122         <expand_symtabs_matching>: Adjust to use lookup_name_info.
3123         (expand_symtabs_matching): Adjust to use lookup_name_info.
3124         * symmisc.c (maintenance_expand_symtabs): Use
3125         lookup_name_info::match_any ().
3126         * symtab.c (symbol_matches_search_name): New.
3127         (eq_symbol_entry): Adjust to use lookup_name_info and the
3128         language's matcher.
3129         (demangle_for_lookup_info::demangle_for_lookup_info): New.
3130         (lookup_name_info::match_any): New.
3131         (iterate_over_symbols, search_symbols): Use lookup_name_info.
3132         (compare_symbol_name): Add language, lookup_name_info and
3133         completion_match_result parameters, and use them.
3134         (completion_list_add_name): Make extern.  Add language and
3135         lookup_name_info parameters.  Use them.
3136         (completion_list_add_symbol, completion_list_add_msymbol)
3137         (completion_list_objc_symbol): Add lookup_name_info parameters and
3138         adjust.  Pass down language.
3139         (completion_list_add_fields): Add lookup_name_info parameters and
3140         adjust.  Pass down language.
3141         (add_symtab_completions): Add lookup_name_info parameters and
3142         adjust.
3143         (default_collect_symbol_completion_matches_break_on): Add
3144         name_match_type parameter, and use it.  Use lookup_name_info.
3145         (default_collect_symbol_completion_matches)
3146         (collect_symbol_completion_matches): Add name_match_type
3147         parameter, and pass it down.
3148         (collect_symbol_completion_matches_type): Adjust.
3149         (collect_file_symbol_completion_matches): Add name_match_type
3150         parameter, and use lookup_name_info.
3151         * symtab.h: Include <string> and "common/gdb_optional.h".
3152         (enum class symbol_name_match_type): New.
3153         (class ada_lookup_name_info): New.
3154         (struct demangle_for_lookup_info): New.
3155         (class lookup_name_info): New.
3156         (symbol_name_matcher_ftype): New.
3157         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
3158         (symbol_matches_search_name): Declare.
3159         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
3160         (default_collect_symbol_completion_matches)
3161         (collect_symbol_completion_matches)
3162         (collect_file_symbol_completion_matches): Add name_match_type
3163         parameter.
3164         (iterate_over_symbols): Use lookup_name_info.
3165         (completion_list_add_name): Declare.
3166         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
3167         (strncmp_iw_with_mode): Now extern.
3168         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
3169         (strncmp_iw_with_mode): Declare.
3171 2017-11-08  Keith Seitz  <keiths@redhat.com>
3172             Pedro Alves  <palves@redhat.com>
3174         * ada-lang.c (ada_language_defn): Install
3175         default_search_name_hash.
3176         * buildsym.c (struct buildsym_compunit): <language>: New field.
3177         (finish_block_internal): Pass language when creating dictionaries.
3178         (start_buildsym_compunit, start_symtab): New language parameters.
3179         Use them.
3180         (restart_symtab): Pass down compilation unit's language.
3181         * buildsym.h (enum language): Forward declare.
3182         (start_symtab): New 'language' parameter.
3183         * c-lang.c (c_language_defn, cplus_language_defn)
3184         (asm_language_defn, minimal_language_defn): Install
3185         default_search_name_hash.
3186         * coffread.c (coff_start_symtab): Adjust.
3187         * d-lang.c (d_language_defn): Install default_search_name_hash.
3188         * dbxread.c (struct symloc): Add 'pst_language' field.
3189         (PST_LANGUAGE): Define.
3190         (start_psymtab, read_ofile_symtab): Use it.
3191         (process_one_symbol): New 'language' parameter.  Pass it down.
3192         * dictionary.c (struct dictionary) <language>: New field.
3193         (DICT_LANGUAGE): Define.
3194         (dict_create_hashed, dict_create_hashed_expandable)
3195         (dict_create_linear, dict_create_linear_expandable): New parameter
3196         'language'.  Set the dictionary's language.
3197         (iter_match_first_hashed): Adjust to rename.
3198         (insert_symbol_hashed): Assert we don't see mismatching
3199         languages.  Adjust to rename.
3200         (dict_hash): Rename to ...
3201         (default_search_name_hash): ... this and make extern.
3202         * dictionary.h (struct language_defn): Forward declare.
3203         (dict_create_hashed): New parameter 'language'.
3204         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
3205         * f-lang.c (f_language_defn): Install default_search_name_hash.
3206         * go-lang.c (go_language_defn): Install default_search_name_hash.
3207         * jit.c (finalize_symtab): Pass compunit's language to dictionary
3208         creation.
3209         * language.c (unknown_language_defn, auto_language_defn):
3210         * language.h (language_defn::la_search_name_hash): New field.
3211         (default_search_name_hash): Declare.
3212         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
3213         * mdebugread.c (new_block): New parameter 'language'.
3214         * mdebugread.c (parse_symbol): Pass symbol language to block
3215         allocation.
3216         (psymtab_to_symtab_1): Pass down language.
3217         (new_symtab): Pass compunit's language to block allocation.
3218         * objc-lang.c (objc_language_defn): Install
3219         default_search_name_hash.
3220         * opencl-lang.c (opencl_language_defn):
3221         * p-lang.c (pascal_language_defn): Install
3222         default_search_name_hash.
3223         * rust-lang.c (rust_language_defn): Install
3224         default_search_name_hash.
3225         * stabsread.h (enum language): Forward declare.
3226         (process_one_symbol): Add 'language' parameter.
3227         * symtab.c (search_name_hash): New function.
3228         * symtab.h (search_name_hash): Declare.
3229         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
3231 2017-11-08  Pedro Alves  <palves@redhat.com>
3233         * cp-name-parser.y (main): Don't initialize extra_chars.
3235 2017-11-07  Tom Tromey  <tom@tromey.com>
3237         * event-top.h (command_handler): Constify.
3238         * record-full.c (cmd_record_full_start): Update.
3239         * thread.c (thread_apply_all_command): Update.
3240         * printcmd.c (eval_command): Update.
3241         * mi/mi-main.c (mi_execute_cli_command): Update.
3242         (mi_execute_async_cli_command): Update.
3243         * tui/tui-stack.c (tui_update_command): Update.
3244         * cli/cli-interp.c (safe_execute_command): Constify.
3245         * record.c (record_start): Update.
3246         (record_start, record_stop, cmd_record_start): Update.
3247         * record-btrace.c (cmd_record_btrace_bts_start): Update.
3248         (cmd_record_btrace_pt_start): Update.
3249         (cmd_record_btrace_start): Update.
3250         (cmd_record_btrace_start): Update.
3251         * reverse.c (exec_reverse_once): Update.
3252         * python/python.c (execute_gdb_command): Don't copy the command.
3253         * event-top.c (command_line_handler): Update.
3254         (command_handler): Constify.
3255         * defs.h (deprecated_call_command_hook): Constify.
3256         * cli/cli-script.h (execute_user_command): Constify.
3257         * cli/cli-script.c (execute_user_command): Constify.
3258         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
3259         (enum command_control_type): Update.
3260         * main.c (catch_command_errors): Remove non-const overload.
3261         (catch_command_errors_ftype): Remove.
3262         * python/py-cmd.c (cmdpy_function): Constify.
3263         * guile/scm-cmd.c (cmdscm_function): Constify.
3264         * cli/cli-dump.c (call_dump_func): Constify.
3265         * cli/cli-decode.c (do_const_cfunc): Constify.
3266         (do_sfunc): Constify.
3267         (cmd_func): Constify.
3268         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
3269         * top.h (execute_command): Constify.
3270         * top.c (execute_command): Constify.
3271         (execute_command_to_string): Constify.
3272         (deprecated_call_command_hook): Constify.
3273         * command.h (cmd_func): Constify.
3274         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
3276 2017-11-07  Tom Tromey  <tom@tromey.com>
3278         * ada-lang.c (catch_ada_exception_command): Constify.
3279         (catch_assert_command): Constify.
3280         * break-catch-throw.c (catch_catch_command, catch_throw_command)
3281         (catch_rethrow_command): Constify.
3282         (catch_exception_command_1): Constify.
3283         * breakpoint.h (add_catch_command): Constify.
3284         * break-catch-syscall.c (catch_syscall_command_1): Constify.
3285         (catch_syscall_split_args): Constify.
3286         * break-catch-sig.c (catch_signal_command): Constify.
3287         (catch_signal_split_args): Constify.
3288         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
3289         cmd_const_sfunc_ftype.
3290         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
3291         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3292         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3293         (add_setshow_string_cmd, struct cmd_list_element)
3294         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3295         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3296         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
3297         Constify.
3298         (set_cmd_sfunc): Constify.
3299         (empty_sfunc): Constify.
3300         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3301         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3302         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
3303         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3304         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3305         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
3306         Constify.
3307         (set_cmd_sfunc): Constify.
3308         (cmd_sfunc_ftype): Remove.
3309         * compile/compile.c (set_compile_args): Constify.
3310         * infrun.c (set_disable_randomization): Constify.
3311         * infcmd.c (set_args_command, set_cwd_command): Constify.
3312         * breakpoint.c (set_condition_evaluation_mode): Constify.
3313         (add_catch_command): Constify.
3314         (catch_fork_command_1, catch_exec_command_1)
3315         (catch_load_command_1, catch_unload_command_1): Constify.
3316         (catch_load_or_unload): Constify.
3317         * guile/scm-param.c (pascm_set_func): Constify.
3318         (add_setshow_generic): Constify.
3319         * python/py-param.c (get_set_value): Constify.
3320         * top.h (set_verbose): Constify.
3321         * tui/tui-win.c (tui_set_var_cmd): Constify.
3322         * mi/mi-main.c (set_mi_async_command): Constify.
3323         * cli/cli-logging.c (set_logging_overwrite)
3324         (set_logging_redirect): Constify.
3325         * value.c (set_max_value_size): Constify.
3326         * valprint.c (set_input_radix, set_output_radix): Constify.
3327         * utils.c (set_width_command, set_height_command): Constify.
3328         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
3329         * tracepoint.c (set_disconnected_tracing)
3330         (set_circular_trace_buffer, set_trace_buffer_size)
3331         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
3332         * top.c (set_history_size_command, set_verbose, set_editing)
3333         (set_gdb_datadir, set_history_filename): Constify.
3334         * target.c (set_targetdebug, maint_set_target_async_command)
3335         (maint_set_target_non_stop_command, set_target_permissions)
3336         (set_write_memory_permission): Constify.
3337         (open_target): Constify.
3338         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
3339         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
3340         * symtab.c (set_symbol_cache_size_handler): Constify.
3341         * symfile.c (set_ext_lang_command): Constify.
3342         * symfile-debug.c (set_debug_symfile): Constify.
3343         * source.c (set_directories_command): Constify.
3344         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
3345         * serial.c (set_parity): Constify.
3346         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
3347         * remote.c (set_remote_exec_file, set_remotebreak)
3348         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
3349         * record.c (set_record_insn_history_size)
3350         (set_record_call_history_size): Constify.
3351         * record-full.c (set_record_full_insn_max_num): Constify.
3352         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
3353         * osabi.c (set_osabi): Constify.
3354         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3355         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3356         * maint.c (maintenance_set_profile_cmd): Constify.
3357         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3358         * language.c (set_language_command, set_range_command)
3359         (set_case_command): Constify.
3360         * infrun.c (set_non_stop, set_observer_mode)
3361         (set_stop_on_solib_events, set_schedlock_func)
3362         (set_exec_direction_func): Constify.
3363         * infcmd.c (set_inferior_tty_command): Constify.
3364         * disasm.c (set_disassembler_options_sfunc): Constify.
3365         * demangle.c (set_demangling_command): Constify.
3366         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3367         * cris-tdep.c (set_cris_version, set_cris_mode)
3368         (set_cris_dwarf2_cfi): Constify.
3369         * corefile.c (set_gnutarget_command): Constify.
3370         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3371         (set_target_wide_charset_sfunc): Constify.
3372         * breakpoint.c (update_dprintf_commands): Constify.
3373         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3374         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3375         (set_disassembly_style_sfunc): Constify.
3376         * arch-utils.c (set_endian, set_architecture): Constify.
3377         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3378         * agent.c (set_can_use_agent): Constify.
3380 2017-11-07  Tom Tromey  <tom@tromey.com>
3382         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3383         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3384         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3385         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3386         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3387         (parse_int_arg, show_thread_default_detach_sc_cmd)
3388         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3389         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3390         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3391         (show_task_pause_cmd, set_task_detach_sc_cmd)
3392         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3393         (set_noninvasive_cmd, set_thread_pause_cmd)
3394         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3395         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3396         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3397         * windows-nat.c (display_selectors): Constify.
3398         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3399         non-const "cfunc".
3400         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3401         (cmd_cfunc_eq): Likewise.
3402         (struct cmd_list_element): Likewise.
3403         (do_cfunc): Remove.
3404         (cli_user_command_p): Update.
3405         * command.h (add_cmd): Remove non-const overload.
3406         (cmd_cfunc_ftype): Remove typedef.
3407         (cmd_cfunc_eq): Remove non-const overload.
3408         * value.c (show_values): Constify.
3409         * thread.c (thread_apply_all_command): Constify.
3410         * symfile.c (load_command): Constify.
3411         * source.c (directory_command): Constify.
3412         * maint.c (maintenance_internal_error)
3413         (maintenance_demangler_warning, maintenance_space_display)
3414         (maintenance_print_architecture, maintenance_translate_address)
3415         (maintenance_info_selftests, maintenance_internal_warning):
3416         Constify.
3417         * breakpoint.c (disable_trace_command, enable_trace_command):
3418         Constify.
3419         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3420         Constify.
3421         (add_auto_load_safe_path): Constify.
3422         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3423         * top.h (show_commands): Constify.
3424         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3425         * sparc64-tdep.c (adi_examine_command): Constify.
3426         (adi_assign_command): Constify.
3428 2017-11-07  Tom Tromey  <tom@tromey.com>
3430         * frame.h (info_locals_command, info_args_command): Constify.
3431         * auto-load.h (auto_load_info_scripts): Constify.
3432         * inferior.h (registers_info): Constify.
3433         * copying.c: Rebuild.
3434         * copying.awk: Constify generated commands.
3435         * auto-load.c (auto_load_info_scripts)
3436         (info_auto_load_gdb_scripts): Constify.
3437         * cli/cli-decode.c (struct cmd_list_element): Take a
3438         cmd_const_cfunc_ftype.
3439         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3440         * tui/tui-win.c (tui_all_windows_info): Constify.
3441         * python/py-auto-load.c (info_auto_load_python_scripts):
3442         Constify.
3443         * cli/cli-cmds.c (show_command): Remove non-const overload.
3444         * tracepoint.c (info_tvariables_command, info_scope_command):
3445         Constify.
3446         (info_static_tracepoint_markers_command): Constify.
3447         * thread.c (info_threads_command): Constify.
3448         (print_thread_info_1): Constify.
3449         * target.c (info_target_command): Constify.
3450         * symtab.c (info_sources_command, info_functions_command)
3451         (info_types_command): Constify.
3452         (info_variables_command): Remove non-const overload.
3453         * symfile.c (info_ext_lang_command): Constify.
3454         * stack.c (info_frame_command, info_locals_command)
3455         (info_args_command): Constify.
3456         (backtrace_command): Remove non-const overload.
3457         * source.c (info_source_command, info_line_command): Constify.
3458         * solib.c (info_sharedlibrary_command): Constify.
3459         * skip.c (info_skip_command): Constify.
3460         * ser-go32.c (info_serial_command): Constify.
3461         * reverse.c (info_bookmarks_command): Constify.
3462         * printcmd.c (info_symbol_command, info_address_command)
3463         (info_display_command): Constify.
3464         * osdata.c (info_osdata_command): Constify.
3465         * objc-lang.c (info_selectors_command, info_classes_command):
3466         Constify.
3467         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3468         * memattr.c (info_mem_command): Constify.
3469         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3470         * linux-fork.c (info_checkpoints_command): Constify.
3471         * infrun.c (info_signals_command): Constify.
3472         * inflow.c (info_terminal_command): Constify.
3473         * inferior.c (info_inferiors_command): Constify.
3474         (print_inferior): Constify.
3475         * infcmd.c (info_program_command, info_all_registers_command)
3476         (info_registers_command, info_vector_command)
3477         (info_float_command): Constify.
3478         (registers_info): Constify.
3479         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3480         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3481         Constify.
3482         * f-valprint.c (info_common_command): Constify.
3483         * dcache.c (info_dcache_command): Constify.
3484         (dcache_info_1): Constify.
3485         * darwin-nat-info.c (info_mach_tasks_command)
3486         (info_mach_task_command, info_mach_ports_command)
3487         (info_mach_port_command, info_mach_threads_command)
3488         (info_mach_thread_command, info_mach_regions_command)
3489         (info_mach_regions_recurse_command, info_mach_region_command)
3490         (info_mach_exceptions_command): Constify.
3491         (get_task_from_args): Constify.
3492         * cp-support.c (info_vtbl_command): Constify.
3493         * breakpoint.c (info_watchpoints_command)
3494         (info_tracepoints_command): Constify.
3495         (info_breakpoints_command): Remove non-const overload.
3496         * avr-tdep.c (avr_io_reg_read_command): Constify.
3497         * auxv.c (info_auxv_command): Constify.
3498         * ada-tasks.c (info_tasks_command): Constify.
3499         (info_task): Constify.
3500         * ada-lang.c (info_exceptions_command): Constify.
3502 2017-11-07  Tom Tromey  <tom@tromey.com>
3504         * solib.h (no_shared_libraries): Constify.
3505         * frame.h (return_command): Constify.
3506         * cli/cli-cmds.h (quit_command): Constify.
3507         * top.h (quit_command, execute_command): Constify.
3508         * target.h (flash_erase_command): Constify.
3509         * inferior.h (set_inferior_args, attach_command): Constify.
3510         * tracepoint.h (start_tracing, stop_tracing): Constify.
3511         * breakpoint.h (break_command, tbreak_command)
3512         (hbreak_command_wrapper, thbreak_command_wrapper)
3513         (rbreak_command_wrapper, watch_command_wrapper)
3514         (awatch_command_wrapper, rwatch_command_wrapper)
3515         (get_tracepoint_by_number): Constify.
3516         * symtab.c (info_variables_command, rbreak_command)
3517         (symtab_symbol_info): Constify.
3518         (info_variables_command): Add non-const overload.
3519         * top.c (dont_repeat_command): Constify.
3520         * breakpoint.c (ignore_command, commands_command)
3521         (condition_command, tbreak_command, hbreak_command)
3522         (thbreak_command, clear_command, break_command)
3523         (info_breakpoints_command, watch_command, rwatch_command)
3524         (awatch_command, trace_command, ftrace_command, strace_command)
3525         (trace_pass_command, break_range_command, dprintf_command)
3526         (agent_printf_command, get_tracepoint_by_number)
3527         (watch_maybe_just_location, trace_pass_command): Constify.
3528         (info_breakpoints_command): Add non-const overload.
3529         * tracefile.c (tsave_command): Constify.
3530         * infcmd.c (attach_command, disconnect_command, signal_command)
3531         (queue_signal_command, stepi_command, nexti_command)
3532         (finish_command, next_command, step_command, until_command)
3533         (advance_command, jump_command, continue_command, run_command)
3534         (start_command, starti_command, interrupt_command)
3535         (run_command_1, set_inferior_args, step_1): Constify.
3536         * inferior.c (add_inferior_command, remove_inferior_command)
3537         (clone_inferior_command): Constify.
3538         * linux-fork.c (checkpoint_command, restart_command): Constify.
3539         * windows-nat.c (signal_event_command): Constify.
3540         * guile/guile.c (guile_repl_command, guile_command): Constify.
3541         * printcmd.c (x_command, display_command, printf_command)
3542         (output_command, set_command, call_command, print_command)
3543         (eval_command): Constify.
3544         (non_const_set_command): Remove.
3545         (_initialize_printcmd): Update.
3546         * source.c (forward_search_command, reverse_search_command):
3547         Constify.
3548         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3549         Constify.
3550         * infrun.c (handle_command): Constify.
3551         * memattr.c (mem_command): Constify.
3552         * stack.c (return_command, up_command, up_silently_command)
3553         (down_command, down_silently_command, frame_command)
3554         (backtrace_command, func_command, backtrace_command_1): Constify.
3555         (backtrace_command): Add non-const overload.
3556         * remote-sim.c (simulator_command): Constify.
3557         * exec.c (set_section_command): Constify.
3558         * tracepoint.c (tdump_command, trace_variable_command)
3559         (tstatus_command, tstop_command, tstart_command)
3560         (end_actions_pseudocommand, while_stepping_pseudocommand)
3561         (collect_pseudocommand, teval_pseudocommand, actions_command)
3562         (start_tracing, stop_tracing): Constify.
3563         * value.c (init_if_undefined_command): Constify.
3564         * tui/tui-stack.c (tui_update_command): Constify.
3565         * tui/tui-win.c (tui_refresh_all_command)
3566         (tui_set_tab_width_command, tui_set_win_height_command)
3567         (tui_set_focus_command, tui_scroll_forward_command)
3568         (tui_scroll_backward_command, tui_scroll_left_command)
3569         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3570         (tui_set_win_height): Constify.
3571         * tui/tui-layout.c (tui_layout_command): Constify.
3572         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3573         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3574         (proc_untrace_sysexit_cmd): Constify.
3575         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3576         (threadset_test_cmd, threadlist_update_test_cmd)
3577         (threadalive_test): Constify.
3578         * objc-lang.c (print_object_command): Constify.
3579         * command.h (add_com): Constify.
3580         * cli/cli-dump.c (restore_command): Constify.
3581         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3582         (help_command, complete_command, shell_command, edit_command)
3583         (list_command, disassemble_command, make_command)
3584         (apropos_command, alias_command): Constify.
3585         * cli/cli-script.c (document_command, define_command)
3586         (while_command, if_command, validate_comname): Constify.
3587         * cli/cli-decode.c (struct cmd_list_element): Change type of
3588         "fun".
3589         * target.c (do_monitor_command, flash_erase_command): Constify.
3590         * regcache.c (reg_flush_command): Constify.
3591         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3592         (reverse_nexti, reverse_continue, reverse_finish)
3593         (save_bookmark_command, goto_bookmark_command)
3594         (exec_reverse_once): Constify.
3595         * python/python.c (python_interactive_command, python_command):
3596         Constify.
3597         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3598         Constify.
3599         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3600         * gcore.c (gcore_command): Constify.
3602 2017-11-07  Tom Tromey  <tom@tromey.com>
3604         * printcmd.c (x_command): Call set_repeat_arguments.
3605         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3606         * top.c (repeat_arguments): New global.
3607         (set_repeat_arguments): New function.
3608         (execute_command): Handle repeat_arguments.
3609         (show_commands): Calls set_repeat_arguments.
3610         * command.h (set_repeat_arguments): Declare.
3612 2017-11-07  Tom Tromey  <tom@tromey.com>
3614         * stack.c (backtrace_command): Use std::string.
3615         (backtrace_command_1): Make "count_exp" const.
3617 2017-11-07  Tom Tromey  <tom@tromey.com>
3619         * source.c (directory_switch, mod_path, add_path): Constify.
3620         * defs.h (add_path, mod_path, directory_switch): Constify.
3621         * mi/mi-cmd-env.c (env_mod_path): Constify.
3623 2017-11-07  Tom Tromey  <tom@tromey.com>
3625         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3626         (run_command_1, continue_command, step_1, jump_command)
3627         (signal_command, until_command, advance_command, finish_command)
3628         (attach_command): Update.
3630 2017-11-07  Tom Tromey  <tom@tromey.com>
3632         * command.h (set_cmd_cfunc): Don't declare.
3633         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3635 2017-11-07  Tom Tromey  <tom@tromey.com>
3637         * stack.c (select_frame_command): Constify.
3638         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3639         * command.h (add_com_suppress_notification): Constify.
3641 2017-11-07  Tom Tromey  <tom@tromey.com>
3643         * breakpoint.c (stop_command): Constify.
3644         * cli/cli-decode.c (struct cmd_list_element): Constify.
3645         * command.h (add_abbrev_prefix_cmd): Constify.
3647 2017-11-07  Pedro Alves  <palves@redhat.com>
3649         * breakpoint.c (extract_bp_kind): New enum.
3650         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3651         factored out from ...
3652         (extract_bp_number_and_location): ... here.
3653         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3655 2017-11-07  Pedro Alves  <palves@redhat.com>
3657         * breakpoint.c (extract_bp_number_and_location): Change return
3658         type to void.  Throw error instead of warning.
3659         (enable_disable_command): Adjust.
3661 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3662             Pedro Alves  <palves@redhat.com>
3664         * breakpoint.c (map_breakpoint_number_range): New, factored out
3665         from ...
3666         (map_breakpoint_numbers): ... here.
3667         (find_location_by_number): Change parameters from string to
3668         breakpoint number and location.
3669         (extract_bp_number_and_location): New function.
3670         (enable_disable_bp_num_loc)
3671         (enable_disable_breakpoint_location_range)
3672         (enable_disable_command): New functions, factored out ...
3673         (enable_command, disable_command): ... these functions, and
3674         adjusted to support ranges.
3675         * NEWS: Document enable/disable breakpoint location range feature.
3677 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3679         * MAINTAINERS (Write After Approval): Update my e-mail address.
3681 2017-11-06  Pedro Alves  <palves@redhat.com>
3683         * gnu-nat.c (gnu_terminal_init): Delete.
3684         (gnu_target): Don't install gnu_terminal_init.
3685         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3686         (child_terminal_init): ... this function.
3688 2017-11-06  Pedro Alves  <palves@redhat.com>
3690         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3691         sgtty.h.
3692         * config.in, configure: Regenerate.
3694 2017-11-06  Pedro Alves  <palves@redhat.com>
3696         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3697         (async_init_signals): Adjust.
3698         (handle_stop_sig): Rename to ...
3699         (handle_sigtstp): ... this.
3700         (async_stop_sig): Rename to ...
3701         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3702         SIGTSTP path.
3703         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3704         instead of STOP_SIGNAL thoughout.
3705         (handle_stop_sig): Rename to ...
3706         (handle_sigtstp): ... this.
3707         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3709 2017-11-06  Pedro Alves  <palves@redhat.com>
3711         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3712         longer set flags twice in row.
3714 2017-11-06  Pedro Alves  <palves@redhat.com>
3716         * Makefile.in (SER_HARDWIRE): Update comment.
3717         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3718         * common/gdb_termios.h: Delete file.
3719         * common/job-control.c: Include termios.h and unistd.h instead of
3720         gdb_termios.h.
3721         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3722         check.
3723         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3724         Remove sgtty code.
3725         * configure.ac: No longer check for termio.h and sgtty.h.
3726         * configure: Regenerate.
3727         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3728         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3729         Replace PROCESS_GROUP_TYPE references with pid_t references
3730         throughout.
3731         (gdb_getpgrp): Delete.
3732         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3733         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3734         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3735         gdb_getpgrp.  Use serial_set_tty_state instead aof
3736         serial_noflush_set_tty_state.  Remove sgtty code.
3737         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3738         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3739         (inferior_process_group): Now returns pid_t.
3740         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3741         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3742         * ser-event.c (serial_event_ops): Update.
3743         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3744         (dos_ops): Update.
3745         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3746         * ser-pipe.c (pipe_ops): Update.
3747         * ser-tcp.c (tcp_ops): Update.
3748         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3749         HAVE_TERMIOS checks.
3750         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3751         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3752         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3753         assume termios.
3754         (hardwire_noflush_set_tty_state): Delete.
3755         (hardwire_print_tty_state, hardwire_drain_output)
3756         (hardwire_flush_output, hardwire_flush_input)
3757         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3758         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3759         code, and assume termios.
3760         (hardwire_ops): Update.
3761         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3762         * serial.c (serial_noflush_set_tty_state): Delete.
3763         * serial.h (serial_noflush_set_tty_state): Delete.
3764         (serial_ops::noflush_set_tty_state): Delete.
3766 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3768         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3769         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3770         (COMMON_OBS): Remove doublest.o and dfp.o.
3771         Do not build target-float.c (instead of doublest.c)
3772         with -Wformat-nonliteral.
3774         * doublest.c: Remove file.
3775         * doublest.h: Remove file.
3776         * dfp.c: Remove file.
3777         * dfp.h: Remove file.
3779         * target-float.c: Do not include "doublest.h" and "dfp.h".
3780         (DOUBLEST): Move here from doublest.h.
3781         (enum float_kind): Likewise.
3782         (FLOATFORMAT_CHAR_BIT): Likewise.
3783         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3784         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3785         (floatformat_precision): Likewise.
3786         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3787         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3788         Likewise.
3789         (host_float_format, host_double_format, host_long_double_format):
3790         Likewise.
3791         (floatformat_to_string, floatformat_from_string): Likewise.
3792         (floatformat_to_doublest): Likewise.  Also, inline the original
3793         convert_floatformat_to_doublest.
3794         (floatformat_from_doublest): Likewise.  Also, inline the original
3795         convert_floatformat_from_doublest.
3797         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3798         (MAX_DECIMAL_STRING): Move here from dfp.c.
3799         (match_endianness): Likewise.
3800         (set_decnumber_context, decimal_check_errors): Likewise.
3801         (decimal_from_number, decimal_to_number): Likewise.
3802         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3803         (decimal_from_longest, decimal_from_ulongest): Likewise.
3804         (decimal_to_longest): Likewise.
3805         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3806         (decimal_convert): Likewise.
3808 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3810         * doublest.c: Do not include "gdbtypes.h".
3811         (extract_typed_floating): Remove.
3812         (store_typed_floating): Remove.
3813         (convert_typed_floating): Remove.
3814         * doublest.h (struct type): Remove.
3815         (DOUBLEST_PRINT_FORMAT): Remove.
3816         (DOUBLEST_SCAN_FORMAT): Remove.
3817         (extract_typed_floating): Remove.
3818         (store_typed_floating): Remove.
3819         (convert_typed_floating): Remove.
3821         * dfp.c (decimal_from_doublest): Remove.
3822         (decimal_to_doublest): Remove.
3823         * dfp.h: Do not include "doublest.h".
3824         (decimal_from_doublest): Remove.
3825         (decimal_to_doublest): Remove.
3827         * value.c: Do not include "doublest.h" and "dfp.h".
3828         (value_as_double): Remove.
3829         (unpack_double): Remove.
3830         (value_from_double): Remove.
3831         (value_from_decfloat): Remove.
3832         * value.h: Do not include "doublest.h".
3833         (value_as_double): Remove.
3834         (unpack_double): Remove.
3835         (value_from_double): Remove.
3836         (value_from_decfloat): Remove.
3838 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3840         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3841         (i386_extract_return_value): Use target_float_convert.
3842         (i386_store_return_value): Likewise.
3843         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3844         (i387_value_to_register): Likewise.
3845         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3846         (ia64_register_to_value): Use target_float_convert.
3847         (ia64_value_to_register): Likewise.
3848         (ia64_extract_return_value): Likewise.
3849         (ia64_store_return_value): Likewise.
3850         (ia64_push_dummy_call): Likewise.
3851         * m68k-tdep.c: Include "target-float.h".
3852         (m68k_register_to_value): Use target_float_convert.
3853         (m68k_value_to_register): Likewise.
3854         (m68k_svr4_extract_return_value): Likewise.
3855         (m68k_svr4_store_return_value): Likewise.
3856         * ppc-sysv-tdep.c: Include "target-float.h".
3857         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3858         (do_ppc_sysv_return_value): Likewise.
3859         (ppc64_sysv_abi_push_freg): Likewise.
3860         (ppc64_sysv_abi_return_value_base): Likewise.
3861         * rs6000-aix-tdep.c: Include "target-float.h".
3862         (rs6000_push_dummy_call): Use target_float_convert.
3863         (rs6000_return_value): Likewise.
3864         * rs6000-lynx178-tdep.c: Include "target-float.h".
3865         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3866         (rs6000_lynx178_return_value): Likewise.
3867         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3868         (rs6000_register_to_value): Use target_float_convert.
3869         (rs6000_value_to_register): Likewise.
3870         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3871         (arm_extract_return_value): Use target_float_convert.
3872         (arm_store_return_value): Likewise.
3873         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3874         (sh_register_convert_to_virtual): Use target_float_convert.
3875         (sh_register_convert_to_raw): Likewise.
3876         * sh64-tdep.c: Include "target-float.h".
3877         (sh64_extract_return_value): Use target_float_convert.
3878         (sh64_register_convert_to_virtual): Likewise.
3879         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3881 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3883         * target-float.c (floatformat_to_host_double): New function.
3884         (floatformat_from_host_double): Likewise.
3885         (target_float_to_host_double): Likewise.
3886         (target_float_from_host_double): Likewise.
3887         * target-float.h (target_float_to_host_double): Add prototype.
3888         (target_float_from_host_double): Likewise.
3890         * guile/scm-value.c: Include "target-float.h".
3891         (gdbscm_value_to_real): Use target_float_to_host_double.
3892         Handle integer source values via value_as_long.
3893         * guile/scm-math.c: Include "target-float.h".  Do not include
3894         "doublest.h", "dfp.h", and "expression.h".
3895         (vlscm_convert_typed_number): Use target_float_from_host_double.
3896         (vlscm_convert_number): Likewise.
3898         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3899         (convert_value_from_python): Use target_float_from_host_double.
3901 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3903         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3904         (cast_from_fixed): Likewise.
3905         (ada_scaling_type): New function.
3906         (ada_delta): Return value instead of DOUBLEST.  Perform target
3907         arithmetic instead of host arithmetic.
3908         (scaling_factor): Rename to ...
3909         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3910         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3911         (ada_fixed_to_float): Remove.
3912         (ada_float_to_fixed): Remove.
3913         * ada-lang.h (ada_fixed_to_float): Remove.
3914         (ada_float_to_fixed): Remove.
3915         (ada_delta): Return value instead of DOUBLEST.
3916         (ada_scaling_factor): Add prototype.
3918         * ada-typeprint.c: Include "target-float.h".
3919         (print_fixed_point_type): Perform target arithmetic instead of
3920         host arithmetic.
3921         * ada-valprint.c: Include "target-float.h".
3922         (ada_val_print_num): Perform target arithmetic instead of
3923         host arithmetic for fixed-point types.
3925 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3927         * target-float.c: Include <math.h>.
3928         (floatformat_binop): New function.
3929         (floatformat_compare): Likewise.
3930         (target_float_binop): Likewise.
3931         (target_float_compare): Likewise.
3932         * target-float.h: Include "expression.h".
3933         (target_float_binop): Add prototype.
3934         (target_float_compare): Likewise.
3936         * valarith.c: Do not include "doublest.h" and "dfp.h".
3937         Include "common/byte-vector.h".
3938         (value_args_as_decimal): Remove, replace by ...
3939         (value_args_as_target_float): ... this function.  Handle both
3940         binary and decimal target floating-point formats.
3941         (scalar_binop): Handle both binary and decimal FP using
3942         value_args_as_target_float and target_float_binop.
3943         (value_equal): Handle both binary and decimal FP using
3944         value_args_as_target_float and target_float_compare.
3945         (value_less): Likewise.
3946         (value_pos): Handle all scalar types as simple copy.
3947         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3948         * dfp.c (decimal_binop): Throw error instead of internal_error
3949         when called with an unsupported operation code.
3951 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3953         * target-float.c (target_float_to_string): New function.
3954         (target_float_from_string): New function.
3955         * target-float.h (target_float_to_string): Add prototype.
3956         (target_float_from_string): Add prototype.
3958         * valprint.c: Include "target-float.h".  Do not include
3959         "doublest.h" and "dfp.h".
3960         (print_floating): Use target_float_to_string.
3961         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3962         (printf_floating): Use target_float_to_string.
3963         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3964         (print_i387_value): Use target_float_to_string.
3965         * mips-tdep.c: Include "target-float.h".
3966         (mips_print_fp_register): Use target_float_to_string.
3967         * sh64-tdep.c: Include "target-float.h".
3968         (sh64_do_fp_register): Use target_float_to_string.
3970         * parse.c: Include "target-float.h".  Do not include
3971         "doublest.h" and "dfp.h".
3972         (parse_float): Use target_float_from_string.
3973         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3974         (define_symbol): Use target_float_from_string.
3975         * gdbarch-selftests.c: Include "target-float.h".
3976         (register_to_value_test): Use target_float_from_string.
3978 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3980         * Makefile.c (SFILES): Add target-float.c.
3981         (HFILES_NO_SRCDIR): Add target-float.h.
3982         (COMMON_OBS): Add target-float.o.
3983         * target-float.h: New file.
3984         * target-float.c: New file.
3986         * doublest.c (floatformat_classify): Fix detection of float_zero.
3988         * gdbtypes.c (is_floating_type): New function.
3989         * gdbtypes.h (is_floating_type): Add prototype.
3991         * value.c: Do not include "floatformat.h".
3992         (unpack_double): Use target_float_is_valid.
3993         (is_floating_value): New function.
3994         * value.h (is_floating_value): Add prototype-
3996         * valarith.c: Include "target-float.h".
3997         (value_logical_not): Use target_float_is_zero.
3999         * python/py-value.c: Include "target-float.h".
4000         (valpy_nonzero): Use target_float_is_zero.
4002 2017-11-04  Tom Tromey  <tom@tromey.com>
4004         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
4006 2017-11-04  Tom Tromey  <tom@tromey.com>
4008         * breakpoint.c (set_momentary_breakpoint): Return
4009         breakpoint_up.
4010         (until_break_command): Update.
4011         (new_until_break_fsm): Change argument types to
4012         breakpoint_up.
4013         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
4014         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
4015         Remove.
4016         * infcmd.c (finish_forward): Update.
4017         * breakpoint.h (set_momentary_breakpoint)
4018         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
4019         (make_cleanup_delete_breakpoint): Remove.
4020         (struct breakpoint_deleter): New.
4021         (breakpoint_up): New typedef.
4022         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
4023         (insert_exception_resume_breakpoint): Update.
4024         (insert_exception_resume_from_probe): Update.
4025         (insert_longjmp_resume_breakpoint): Update.
4026         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
4027         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
4028         * infcall.c (call_function_by_hand_dummy): Update
4030 2017-11-04  Tom Tromey  <tom@tromey.com>
4032         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
4034 2017-11-04  Tom Tromey  <tom@tromey.com>
4036         * linux-tdep.c (linux_core_info_proc_mappings): Use
4037         gdb::def_vector.
4038         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
4039         "size" argument.
4040         (linux_corefile_thread): Update.
4041         (linux_make_corefile_notes): Remove unused variable.
4043 2017-11-04  Tom Tromey  <tom@tromey.com>
4045         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
4046         gdb::byte_vector.
4048 2017-11-04  Tom Tromey  <tom@tromey.com>
4050         * objfiles.c (do_free_objfile_cleanup): Remove.
4051         * compile/compile-object-load.c (compile_object_load): Update.
4052         * objfiles.h (make_cleanup_free_objfile): Remove.
4054 2017-11-04  Tom Tromey  <tom@tromey.com>
4056         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
4057         (adi_read_versions): Change "tags" to "gdb_byte *".
4058         (adi_print_versions): Likewise.
4060 2017-11-04  Tom Tromey  <tom@tromey.com>
4062         * breakpoint.c
4063         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
4064         from start_rbreak_breakpoints.
4065         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
4066         * breakpoint.h (class scoped_rbreak_breakpoints): New.
4067         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
4068         * symtab.c (do_end_rbreak_breakpoints): Remove.
4069         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
4071 2017-11-04  Tom Tromey  <tom@tromey.com>
4073         * cp-namespace.c (reset_directive_searched): Remove.
4074         (cp_lookup_symbol_via_imports): Use scoped_restore.
4075         * cp-support.c (reset_directive_searched): Remove.
4076         (make_symbol_overload_list_using): Use scoped_restore.
4077         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
4078         (reset_directive_searched): Remove.
4080 2017-11-04  Tom Tromey  <tom@tromey.com>
4082         * symfile.c (find_separate_debug_file_by_debuglink): Use
4083         unique_xmalloc_ptr.
4085 2017-11-04  Tom Tromey  <tom@tromey.com>
4087         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
4088         type of "info".
4089         (compute_stack_depth): Likewise.
4090         (do_compile_dwarf_expr_to_c): Use std::vector.
4092 2017-11-04  Tom Tromey  <tom@tromey.com>
4094         * compile/compile-object-load.c (link_callbacks_einfo): Use
4095         std::string.
4097 2017-11-04  Tom Tromey  <tom@tromey.com>
4099         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
4100         Use scoped_free_pendings.
4101         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
4102         scoped_free_pendings.
4103         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
4104         (xcoff_initial_scan): Likewise.
4105         * buildsym.c (reset_symtab_globals): Update comment.
4106         (scoped_free_pendings): Rename from really_free_pendings.
4107         (prepare_for_building): Update comment.
4108         (buildsym_init): Likewise.
4109         * buildsym.h (class scoped_free_pendings): New class.
4110         (really_free_pendings): Don't declare.
4112 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
4114         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
4115         output when converting a zero value to a special byteorder format.
4117 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4119         * frame.c (do_frame_register_read): Remove aspace.
4120         * jit.c (jit_frame_sniffer): Likwise.
4121         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
4122         * regcache.c (regcache::regcache): Pass nullptr.
4123         (regcache_print): Caller updated.
4124         * regcache.h (regcache::regcache): Remove one constructor
4125         parameter aspace.
4127 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4129         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
4131 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4133         * breakpoint.c (insert_single_step_breakpoints): Update.
4134         * frame.c (struct frame_info) <aspace>: Add const.
4135         (frame_save_as_regcache): Add const.
4136         (get_frame_address_space): Return const address_space *.
4137         * frame.h (get_frame_address_space): Update declaration.
4138         * infrun.c (struct step_over_info) <aspace>: Add const.
4139         (set_step_over_info): Make aspace const.
4140         (displaced_step_prepare_throw): Change variable const.
4141         (resume): Likewise.
4142         (proceed): Likewise.
4143         (adjust_pc_after_break): Likewise.
4144         (save_waitstatus): Likewise.
4145         (handle_signal_stop): Likewise.
4146         (keep_going_pass_signal): Likewise.
4147         * jit.c (jit_frame_sniffer): Add const.
4148         * mips-tdep.c (mips_single_step_through_delay): Likewise.
4149         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
4150         * record-full.c (record_full_wait_1): Likewise.
4151         * regcache.c (regcache::regcache): Change parameter to const.
4152         * regcache.h (regcache::regcache): Likewise.
4153         (regcache::aspace): Return const address_space *.
4154         (regcache) <m_aspace>: Add const.
4156 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4158         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
4159         * frame.c (create_sentinel_frame): Likewise.
4160         * infrun.c (displaced_step_prepare_throw): Likewise.
4161         (resume): Likewise.
4162         (thread_still_needs_step_over_bp): Likewise.
4163         (proceed): Likewise.
4164         (do_target_wait): Likewise.
4165         (adjust_pc_after_break): Likewise.
4166         (handle_syscall_event): Likewise.
4167         (save_waitstatus): Likewise.
4168         (handle_inferior_event_1): Likewise.
4169         (handle_signal_stop): Likewise.
4170         (keep_going_pass_signal): Likewise.
4171         * linux-nat.c (status_callback): Likewise.
4172         (save_stop_reason): Likewise.
4173         (resume_stopped_resumed_lwps): Likewise.
4174         * record-full.c (record_full_exec_insn): Likewise.
4175         (record_full_wait_1): Likewise.
4176         * regcache.c (get_regcache_aspace): Remove.
4177         * regcache.h (get_regcache_aspace): Remove.
4179 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4181         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
4182         (init_regcache_descr): Use gdbarch_num_regs.
4183         (regcache::regcache): Likewise.
4184         (regcache::get_register_status): Likewise.
4185         (regcache::assert_raw_regnum): Likewise.
4186         (regcache::cooked_read): Likewise.
4187         (regcache::cooked_read_value): Likewise.
4188         (regcache::cooked_write): Likewise.
4189         (regcache::dump): Likewise.
4190         (regcache::num_raw_registers): New method.
4191         * regcache.h (class regcache) <num_raw_registers>: New.
4193 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4195         * regcache.c (regcache::assert_regnum): New method.
4196         (regcache::invalidate): Call assert_regnum.
4197         (regcache::raw_update): Likewise.
4198         (regcache::raw_write): Likewise.
4199         (regcache::raw_read_part): Likewise.
4200         (regcache::raw_write_part): Likewise.
4201         (regcache::raw_supply): Likewise.
4202         (regcache::raw_supply_integer): Likewise.
4203         (regcache::raw_supply_zeroed): Likewise.
4204         (regcache::raw_collect): Likewise.
4205         (regcache::raw_collect_integer): Likewise.
4206         * regcache.h (regcache::assert_regnum): Declare.
4208 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4210         * regcache.c (regcache::dump): Remove code.
4212 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4214         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
4215         Remove.
4216         <sizeof_cooked_register_status>: Remove.
4217         (init_regcache_descr): Update.
4218         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
4219         (regcache::save): Likewise.
4220         (regcache::dump): Likewise.
4222 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
4224         * ft32-tdep.c (ft32_fetch_instruction): New function.
4225         (ft32_analyze_prologue): Use ft32_fetch_instruction().
4227 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
4229         * cli/cli-script.c (execute_control_command): Rename to ...
4230         (execute_control_command_1): ... this.
4231         (execute_control_command): New function.
4233 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
4235         * tracepoint.c (tfind_command): Remove const_cast.
4237 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
4239         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
4241 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
4243         * common/common-utils.h (in_inclusive_range): New function.
4244         * arm-tdep.c (arm_record_extension_space): Use
4245         in_inclusive_range.
4246         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
4247         * cris-tdep.c (cris_spec_reg_applicable): Use
4248         in_inclusive_range.
4250 2017-10-30  Pedro Alves  <palves@redhat.com>
4251             Simon Marchi  <simon.marchi@ericsson.com>
4253         * remote.c (remote_set_syscall_catchpoint): Build a std::string
4254         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
4256 2017-10-30  Pedro Alves  <palves@redhat.com>
4258         * common/common-utils.c (string_appendf, string_vappendf): New
4259         functions.
4260         * common/common-utils.h (string_appendf, string_vappendf): New
4261         declarations.
4262         * unittests/common-utils-selftests.c (string_appendf_func)
4263         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
4264         (string_vappendf_tests): New functions.
4265         (_initialize_common_utils_selftests): Register "string_appendf" and
4266         "string_vappendf tests".
4268 2017-10-30  Pedro Alves  <palves@redhat.com>
4270         * unittests/common-utils-selftests.c (format_func): New typedef.
4271         (string_printf_tests, string_vprintf_tests): Tests factored out
4272         and merged to ...
4273         (test_format_func): ... this new function.
4274         (string_printf_tests, string_vprintf_tests): Reimplement on top of
4275         test_format_func.
4277 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4279         * darwin-nat.c: Remove include of gdb.h.
4281 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4283         * xtensa-xtregs.c: Fix formatting issues.
4285 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4287         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
4289 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
4291         PR python/21213
4292         * python/py-infthread.c (thpy_get_inferior): Increment reference
4293         of inferior before returning it.
4295 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4297         * unittests/common-utils-selftests.c (format): Add
4298         ATTRIBUTE_PRINTF.
4300 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4302         * xml-syscall.c (struct syscall_desc): Add constructor.
4303         <name>: Change type to std::string.
4304         (syscall_desc_up): New typedef.
4305         (syscall_desc_p): Remove typeder.
4306         (DEF_VEC_P(syscall_desc_p)): Remove.
4307         (struct syscall_group_desc): Add constructor.
4308         <name>: Change type to std::string.
4309         <syscalls>: Change type to std::vector.
4310         (syscall_group_desc_up): New typedef.
4311         (syscall_group_desc_p): Remove typedef.
4312         (DEF_VEC_P(syscall_group_desc_p)): Remove.
4313         (struct syscalls_info) <syscalls>: Change type to std::vector of
4314         unique_ptr.
4315         <groups>: Likewise.
4316         <my_gdb_datadir>: Change type to std::string.
4317         (syscalls_info_up): New typedef.
4318         (allocate_syscalls_info): Remove.
4319         (syscalls_info_free_syscalls_desc): Remove.
4320         (syscalls_info_free_syscall_group_desc): Remove.
4321         (free_syscalls_info): Remove.
4322         (make_cleanup_free_syscalls_info): Remove.
4323         (syscall_group_create_syscall_group_desc): Adjust.
4324         (syscall_group_add_syscall): Adjust.
4325         (syscall_create_syscall_desc): Adjust.
4326         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
4327         (init_syscalls_info): Adjust.
4328         (syscall_group_get_group_by_name): Adjust.
4329         (xml_get_syscall_number): Adjust.
4330         (xml_get_syscall_name): Adjust.
4331         (xml_list_of_syscalls): Adjust.
4332         (xml_list_syscalls_by_group): Adjust.
4333         (xml_list_of_groups): Adjust.
4335 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4337         * probe.h: Don't include gdb_vecs.h.
4338         (DEF_VEC_P (probe_p)): Remove.
4339         (find_probes_in_objfile): Return an std::vector.
4340         * probe.c (find_probes_in_objfile): Likewise.
4341         * breakpoint.c (breakpoint_objfile_data)
4342         <longjmp_probes>: Change type to std::vector.
4343         <exception_probes>: Likewise.
4344         (free_breakpoint_probes): Don't manually free vectors.
4345         (create_longjmp_master_breakpoint): Adjust.
4346         (create_exception_master_breakpoint): Adjust.
4347         * solib-svr4.c (svr4_create_probe_breakpoints): Change
4348         parameter type, adjust.
4349         (svr4_create_solib_event_breakpoints): Adjust.
4351 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4353         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4354         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4355         with new.
4356         (free_breakpoint_probes): Rename to ...
4357         (free_breakpoint_objfile_data): ... this, and call delete on
4358         bp_objfile_data..
4360 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4362         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4363         (loaded_script_ptr): Remove typedef.
4364         (DEF_VEC_P (loaded_script_ptr)): Remove.
4365         (struct collect_matching_scripts_data): Add constructor.
4366         <scripts_p>: Change type to (pointer to) std::vector.
4367         (collect_matching_scripts_data): Adjust.
4368         (sort_scripts_by_name): Make suitable for std::sort.
4369         (print_scripts): Don't sort vector, adjust to std::vector.
4370         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4372 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4374         * symfile.c (filename_language): Make struct, not typedef.  Add
4375         constructor.
4376         <ext>: Change type to std::string.
4377         (DEF_VEC_O (filename_language)): Remove.
4378         (filename_language_table): Change type to std::vector.
4379         (add_filename_language): Adjust.
4380         (set_ext_lang_command): Adjust.
4381         (info_ext_lang_command): Adjust.
4382         (deduce_language_from_filename): Adjust.
4383         (class scoped_restore_filename_language_table): Remove.
4384         (test_filename_language): Use scoped_restore.
4385         (test_set_ext_lang_command): Use scoped_restore, adjust to
4386         std::vector change.
4388 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4390         * symfile.c: Include selftest.h.
4391         (class scoped_restore_filename_language_table): New.
4392         (test_filename_language): New test.
4393         (test_set_ext_lang_command): New test.
4394         (_initialize_symfile): Register tests.
4396 2017-10-27  Keith Seitz  <keiths@redhat.com>
4398         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4399         in the bp_location, falling back to find_pc_sect_function when
4400         needed.
4401         (add_location_to_breakpoint): Save sal->symbol.
4402         * breakpoint.h (struct bp_location) <symbol>: New field.
4403         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4404         * symtab.h (struct symtab_and_line) <symbol>: New field.
4406 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4408         PR gdb/13669
4409         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4410         to rewind obstack.
4412 2017-10-26  Pedro Alves  <palves@redhat.com>
4414         * remote.c (remote_async_terminal_ours_p): Delete.
4415         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4416         Remove references to 'remote_async_terminal_ours_p'.
4418 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4420         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4422 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4424         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4425         aspace const.
4426         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4427         Likewise.
4428         * breakpoint.c (bpstat_check_location): Remove cast.
4429         (breakpoint_hit_catch_fork): Make aspce const.
4430         (breakpoint_hit_catch_solib): Likewise.
4431         (breakpoint_hit_catch_exec): Likewise.
4432         (breakpoint_hit_ranged_breakpoint): Likewise.
4433         (breakpoint_hit_watchpoint): Likewise.
4434         (base_breakpoint_breakpoint_hit): Likewise.
4435         (bkpt_breakpoint_hit): Likewise.
4436         (dprintf_breakpoint_hit): Likewise.
4437         (tracepoint_breakpoint_hit): Likewise.
4438         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4440 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4442         * breakpoint.c (breakpoint_location_address_match): Change
4443         "struct address_space *" to "const address_space".
4444         (breakpoint_location_address_range_overlap): Likewise.
4445         (breakpoint_here_p): Likewise.
4446         (breakpoint_in_range_p): Likewise.
4447         (moribund_breakpoint_here_p): Likewise.
4448         (bp_location_inserted_here_p): Likewise.
4449         (software_breakpoint_inserted_here_p): Likewise.
4450         (hardware_breakpoint_inserted_here_p): Likewise.
4451         (hardware_watchpoint_inserted_in_range): Likewise.
4452         (bpstat_check_location): Likewise.
4453         (bpstat_stop_status): Likewise.
4454         (breakpoint_address_match): Likewise.
4455         (breakpoint_address_match_range): Likewise.
4456         (breakpoint_location_address_match): Likewise.
4457         (breakpoint_location_address_range_overlap): Likewise.
4458         (insert_single_step_breakpoint): Likewise.
4459         (breakpoint_has_location_inserted_here): Likewise.
4460         (single_step_breakpoint_inserted_here_p): Likewise.
4461         (pc_at_non_inline_function): Likewise.
4462         * breakpoint.h (bpstat_stop_status): Update declaration.
4463         (breakpoint_here_p): Likewise.
4464         (breakpoint_in_range_p): Likewise.
4465         (moribund_breakpoint_here_p): Likewise.
4466         (breakpoint_inserted_here_p): Likewise.
4467         (software_breakpoint_inserted_here_p): Likewise.
4468         (hardware_breakpoint_inserted_here_p): Likewise.
4469         (breakpoint_has_location_inserted_here): Likewise.
4470         (single_step_breakpoint_inserted_here_p): Likewise.
4471         (hardware_watchpoint_inserted_in_range): Likewise.
4472         (breakpoint_address_match): Likewise.
4473         (insert_single_step_breakpoint): Likewise.
4474         (pc_at_non_inline_function): Likewise.
4475         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4476         * record.c (record_check_stopped_by_breakpoint): Likewise.
4477         * record.h (record_check_stopped_by_breakpoint): Likewise.
4478         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4480 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4482         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4483         regcache->arch () instead get_regcache_arch.
4484         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4485         Likewise.
4486         (aarch64_fbsd_store_inferior_registers): Likewise.
4487         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4488         (store_gregs_to_thread): Likewise.
4489         (fetch_fpregs_from_thread): Likewise.
4490         (store_fpregs_to_thread): Likewise.
4491         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4492         (aarch64_store_return_value): Likewise.
4493         (aarch64_software_single_step): Likewise.
4494         * aix-thread.c (aix_thread_wait): Likewise.
4495         (supply_reg32): Likewise.
4496         (supply_sprs64): Likewise.
4497         (supply_sprs32): Likewise.
4498         (fill_gprs64): Likewise.
4499         (fill_gprs32): Likewise.
4500         (fill_sprs64): Likewise.
4501         (fill_sprs32): Likewise.
4502         (store_regs_user_thread): Likewise.
4503         (store_regs_kernel_thread): Likewise.
4504         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4505         (alphabsd_store_inferior_registers): Likewise.
4506         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4507         (alpha_store_return_value): Likewise.
4508         (alpha_deal_with_atomic_sequence): Likewise.
4509         (alpha_next_pc): Likewise.
4510         (alpha_software_single_step): Likewise.
4511         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4512         (amd64bsd_store_inferior_registers): Likewise.
4513         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4514         Likewise.
4515         (amd64_linux_store_inferior_registers): Likewise.
4516         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4517         (amd64_collect_native_gregset): Likewise.
4518         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4519         (amd64obsd_collect_uthread): Likewise.
4520         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4521         (amd64_collect_fpregset): Likewise.
4522         (amd64_supply_fxsave): Likewise.
4523         (amd64_supply_xsave): Likewise.
4524         (amd64_collect_fxsave): Likewise.
4525         (amd64_collect_xsave): Likewise.
4526         * arc-tdep.c (arc_write_pc): Likewise.
4527         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4528         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4529         (arm_fbsd_store_inferior_registers): Likewise.
4530         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4531         (store_vfp_regs): Likewise.
4532         (arm_linux_fetch_inferior_registers): Likewise.
4533         (arm_linux_store_inferior_registers): Likewise.
4534         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4535         (arm_linux_sigreturn_next_pc): Likewise.
4536         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4537         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4538         (fetch_register): Likewise.
4539         (store_register): Likewise.
4540         * arm-tdep.c (arm_is_thumb): Likewise.
4541         (displaced_in_arm_mode): Likewise.
4542         (bx_write_pc): Likewise.
4543         (arm_get_next_pcs_addr_bits_remove): Likewise.
4544         (arm_software_single_step): Likewise.
4545         (arm_extract_return_value): Likewise.
4546         (arm_store_return_value): Likewise.
4547         (arm_write_pc): Likewise.
4548         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4549         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4550         (bsd_uthread_store_registers): Likewise.
4551         * core-regset.c (fetch_core_registers): Likewise.
4552         * corelow.c (get_core_registers): Likewise.
4553         * cris-tdep.c (cris_store_return_value): Likewise.
4554         (cris_extract_return_value): Likewise.
4555         (find_step_target): Likewise.
4556         (find_step_target): Likewise.
4557         (cris_software_single_step): Likewise.
4558         * ctf.c (ctf_fetch_registers): Likewise.
4559         * darwin-nat.c (cancel_breakpoint): Likewise.
4560         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4561         * frv-tdep.c (frv_extract_return_value): Likewise.
4562         * ft32-tdep.c (ft32_store_return_value): Likewise.
4563         (ft32_extract_return_value): Likewise.
4564         * go32-nat.c (fetch_register): Likewise.
4565         (go32_fetch_registers): Likewise.
4566         (go32_store_registers): Likewise.
4567         (store_register): Likewise.
4568         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4569         (h8300_store_return_value): Likewise.
4570         * hppa-linux-nat.c (fetch_register): Likewise.
4571         (store_register): Likewise.
4572         (hppa_linux_fetch_inferior_registers): Likewise.
4573         (hppa_linux_store_inferior_registers): Likewise.
4574         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4575         (i386_darwin_store_inferior_registers): Likewise.
4576         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4577         (gnu_store_registers): Likewise.
4578         * i386-linux-nat.c (fetch_register): Likewise.
4579         (store_register): Likewise.
4580         (supply_gregset): Likewise.
4581         (fill_gregset): Likewise.
4582         (i386_linux_fetch_inferior_registers): Likewise.
4583         (i386_linux_store_inferior_registers): Likewise.
4584         (i386_linux_resume): Likewise.
4585         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4586         Likewise.
4587         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4588         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4589         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4590         (i386obsd_collect_uthread): Likewise.
4591         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4592         (i386_supply_gregset): Likewise.
4593         (i386_collect_gregset): Likewise.
4594         (i386_supply_fpregset): Likewise.
4595         (i386_collect_fpregset): Likewise.
4596         (i386_mpx_bd_base): Likewise.
4597         * i386-v4-nat.c (supply_fpregset): Likewise.
4598         (fill_fpregset): Likewise.
4599         * i387-tdep.c (i387_supply_fsave): Likewise.
4600         (i387_collect_fsave): Likewise.
4601         (i387_supply_fxsave): Likewise.
4602         (i387_collect_fxsave): Likewise.
4603         (i387_supply_xsave): Likewise.
4604         (i387_collect_xsave): Likewise.
4605         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4606         (ia64_linux_store_registers): Likewise.
4607         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4608         (ia64_extract_return_value): Likewise.
4609         (ia64_store_return_value): Likewise.
4610         (find_func_descr): Likewise.
4611         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4612         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4613         (inf_ptrace_store_registers): Likewise.
4614         * infrun.c (use_displaced_stepping): Likewise.
4615         (displaced_step_prepare_throw): Likewise.
4616         (resume): Likewise.
4617         (proceed): Likewise.
4618         (do_target_wait): Likewise.
4619         (adjust_pc_after_break): Likewise.
4620         (handle_inferior_event_1): Likewise.
4621         (handle_signal_stop): Likewise.
4622         (save_infcall_suspend_state): Likewise.
4623         (restore_infcall_suspend_state): Likewise.
4624         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4625         * jit.c (jit_frame_prev_register): Likewise.
4626         * linux-nat.c (save_stop_reason): Likewise.
4627         (linux_nat_wait_1): Likewise.
4628         (resume_stopped_resumed_lwps): Likewise.
4629         * linux-record.c (record_linux_sockaddr): Likewise.
4630         (record_linux_msghdr): Likewise.
4631         (record_linux_system_call): Likewise.
4632         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4633         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4634         (lm32_store_return_value): Likewise.
4635         * m32c-tdep.c (m32c_read_flg): Likewise.
4636         (m32c_pseudo_register_read): Likewise.
4637         (m32c_pseudo_register_write): Likewise.
4638         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4639         (m32r_linux_collect_gregset): Likewise.
4640         * m32r-tdep.c (m32r_store_return_value): Likewise.
4641         (m32r_extract_return_value): Likewise.
4642         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4643         (m68kbsd_collect_fpregset): Likewise.
4644         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4645         * m68k-linux-nat.c (fetch_register): Likewise.
4646         (old_fetch_inferior_registers): Likewise.
4647         (old_store_inferior_registers): Likewise.
4648         (store_regs): Likewise.
4649         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4650         (m68k_svr4_store_return_value): Likewise.
4651         * m88k-tdep.c (m88k_store_arguments): Likewise.
4652         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4653         (mi_cmd_data_write_register_values): Likewise.
4654         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4655         (mips_fbsd_store_inferior_registers): Likewise.
4656         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4657         (mips_fbsd_supply_gregs): Likewise.
4658         (mips_fbsd_collect_fpregs): Likewise.
4659         (mips_fbsd_collect_gregs): Likewise.
4660         (mips_fbsd_supply_fpregset): Likewise.
4661         (mips_fbsd_collect_fpregset): Likewise.
4662         (mips_fbsd_supply_gregset): Likewise.
4663         (mips_fbsd_collect_gregset): Likewise.
4664         * mips-linux-nat.c (supply_gregset): Likewise.
4665         (fill_gregset): Likewise.
4666         (supply_fpregset): Likewise.
4667         (fill_fpregset): Likewise.
4668         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4669         (mips_fill_gregset): Likewise.
4670         (mips_supply_fpregset): Likewise.
4671         (mips_fill_fpregset): Likewise.
4672         (mips64_supply_gregset): Likewise.
4673         (micromips_linux_sigframe_validate): Likewise.
4674         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4675         (mipsnbsd_fetch_inferior_registers): Likewise.
4676         (mipsnbsd_store_inferior_registers): Likewise.
4677         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4678         (mipsnbsd_supply_gregset): Likewise.
4679         (mipsnbsd_iterate_over_regset_sections): Likewise.
4680         (mipsnbsd_supply_reg): Likewise.
4681         (mipsnbsd_supply_fpreg): Likewise.
4682         * mips-tdep.c (mips_in_frame_stub): Likewise.
4683         (mips_dummy_id): Likewise.
4684         (is_octeon_bbit_op): Likewise.
4685         (micromips_bc1_pc): Likewise.
4686         (extended_mips16_next_pc): Likewise.
4687         (mips16_next_pc): Likewise.
4688         (deal_with_atomic_sequence): Likewise.
4689         * moxie-tdep.c (moxie_process_readu): Likewise.
4690         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4691         * nto-procfs.c (procfs_store_registers): Likewise.
4692         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4693         (ppcfbsd_store_inferior_registers): Likewise.
4694         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4695         (fetch_altivec_register): Likewise.
4696         (get_spe_registers): Likewise.
4697         (fetch_spe_register): Likewise.
4698         (fetch_altivec_registers): Likewise.
4699         (fetch_all_gp_regs): Likewise.
4700         (fetch_all_fp_regs): Likewise.
4701         (store_vsx_register): Likewise.
4702         (store_altivec_register): Likewise.
4703         (set_spe_registers): Likewise.
4704         (store_spe_register): Likewise.
4705         (store_altivec_registers): Likewise.
4706         (store_all_gp_regs): Likewise.
4707         (store_all_fp_regs): Likewise.
4708         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4709         (ppc_linux_collect_gregset): Likewise.
4710         (ppc_canonicalize_syscall): Likewise.
4711         (ppc_linux_record_signal): Likewise.
4712         (ppu2spu_prev_register): Likewise.
4713         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4714         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4715         (ppcobsd_store_registers): Likewise.
4716         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4717         Likewise.
4718         (ppc_ravenscar_generic_store_registers): Likewise.
4719         * procfs.c (procfs_fetch_registers): Likewise.
4720         (procfs_store_registers): Likewise.
4721         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4722         (ravenscar_store_registers): Likewise.
4723         (ravenscar_prepare_to_store): Likewise.
4724         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4725         * record-full.c (record_full_wait_1): Likewise.
4726         (record_full_registers_change): Likewise.
4727         (record_full_store_registers): Likewise.
4728         (record_full_core_fetch_registers): Likewise.
4729         (record_full_save): Likewise.
4730         (record_full_goto_insn): Likewise.
4731         * regcache.c (regcache_register_size): Likewise.
4732         (get_regcache_arch): Remove.
4733         (regcache_read_pc): Likewise.
4734         * regcache.h (get_regcache_arch): Remove.
4735         * remote-sim.c (gdbsim_fetch_register): Likewise.
4736         (gdbsim_store_register): Likewise.
4737         * remote.c (fetch_register_using_p): Likewise.
4738         (send_g_packet): Likewise.
4739         (remote_prepare_to_store): Likewise.
4740         (store_registers_using_G): Likewise.
4741         * reverse.c (save_bookmark_command): Likewise.
4742         (goto_bookmark_command): Likewise.
4743         * rs6000-aix-tdep.c (branch_dest): Likewise.
4744         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4745         (fetch_register): Likewise.
4746         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4747         (ppc_collect_reg): Likewise.
4748         (ppc_collect_gregset): Likewise.
4749         (ppc_collect_fpregset): Likewise.
4750         (ppc_collect_vsxregset): Likewise.
4751         (ppc_collect_vrregset): Likewise.
4752         (ppc_displaced_step_hw_singlestep): Likewise.
4753         (rs6000_pseudo_register_read): Likewise.
4754         (rs6000_pseudo_register_write): Likewise.
4755         * s390-linux-nat.c (supply_gregset): Likewise.
4756         (fill_gregset): Likewise.
4757         (s390_linux_fetch_inferior_registers): Likewise.
4758         * s390-linux-tdep.c (s390_write_pc): Likewise.
4759         (s390_software_single_step): Likewise.
4760         (s390_all_but_pc_registers_record): Likewise.
4761         (s390_linux_syscall_record): Likewise.
4762         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4763         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4764         (shnbsd_store_inferior_registers): Likewise.
4765         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4766         (sh_extract_return_value_fpu): Likewise.
4767         (sh_store_return_value_nofpu): Likewise.
4768         (sh_corefile_supply_regset): Likewise.
4769         (sh_corefile_collect_regset): Likewise.
4770         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4771         (sh64_store_return_value): Likewise.
4772         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4773         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4774         (sparc_store_inferior_registers): Likewise.
4775         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4776         (sparc_ravenscar_prepare_to_store): Likewise.
4777         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4778         (sparc_analyze_control_transfer): Likewise.
4779         (sparc_step_trap): Likewise.
4780         (sparc_software_single_step): Likewise.
4781         (sparc32_gdbarch_init): Likewise.
4782         (sparc_supply_rwindow): Likewise.
4783         (sparc_collect_rwindow): Likewise.
4784         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4785         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4786         (sparc64nbsd_collect_gregset): Likewise.
4787         (sparc64nbsd_supply_fpregset): Likewise.
4788         (sparc64nbsd_collect_fpregset): Likewise.
4789         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4790         (sparc64_supply_gregset): Likewise.
4791         (sparc64_collect_gregset): Likewise.
4792         (sparc64_supply_fpregset): Likewise.
4793         (sparc64_collect_fpregset): Likewise.
4794         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4795         * spu-tdep.c (spu_unwind_sp): Likewise.
4796         (spu2ppu_prev_register): Likewise.
4797         (spu_memory_remove_breakpoint): Likewise.
4798         * stack.c (return_command): Likewise.
4799         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4800         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4801         * tracefile.c (trace_save_ctf): Likewise.
4802         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4803         (do_windows_store_inferior_registers): Likewise.
4804         (windows_resume): Likewise.
4805         * xtensa-linux-nat.c (fill_gregset): Likewise.
4806         (supply_gregset_reg): Likewise.
4807         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4808         (xtensa_register_read_masked): Likewise.
4809         (xtensa_supply_gregset): Likewise.
4810         (xtensa_extract_return_value): Likewise.
4811         (xtensa_store_return_value): Likewise.
4813 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4815         * doublest.c (floatformat_from_string): New function.
4816         * doublest.h (floatformat_from_string): Add prototype.
4818         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4819         (OP_FLOAT): ... this.
4820         * expression.h: Do not include "doublest.h".
4821         (union exp_element): Replace doubleconst and decfloatconst by
4822         new element floatconst.
4823         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4824         (ada_evaluate_subexp): Likewise.
4825         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4826         OP_DOUBLE and OP_DECFLOAT.
4827         * expprint.c (print_subexp_standard): Likewise.
4828         (dump_subexp_body_standard): Likewise.
4829         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4831         * parse.c: Include "dfp.h".
4832         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4833         (write_exp_elt_floatcst): New function.
4834         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4835         and OP_DECFLOAT.
4836         (operator_check_standard): Likewise.
4837         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4838         Return target format buffer instead of host DOUBLEST.
4839         Use floatformat_from_string and decimal_from_string to parse
4840         either binary or decimal floating-point types.
4841         (parse_c_float): Remove.
4842         * parser-defs.h: Do not include "doublest.h".
4843         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4844         (write_exp_elt_floatcst): Add prototype.
4845         (parse_float): Update prototype.
4846         (parse_c_float): Remove.
4848         * c-exp.y: Do not include "dfp.h".
4849         (typed_val_float): Use byte buffer instead of DOUBLEST.
4850         (typed_val_decfloat): Remove.
4851         (DECFLOAT): Remove.
4852         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4853         (parse_number): Update to new parse_float interface.
4854         Parse suffixes and determine type before calling parse_float.
4855         Handle decimal and binary FP types the same way.
4857         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4858         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4859         (parse_number): Update to new parse_float interface.
4860         Parse suffixes and determine type before calling parse_float.
4862         * f-exp.y: Replace dval by typed_val_float.
4863         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4864         (parse_number): Use parse_float instead of atof.
4866         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4867         (parse_go_float): Remove.
4868         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4869         (parse_number): Call parse_float instead of parse_go_float.
4870         Parse suffixes and determine type before calling parse_float.
4872         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4873         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4874         (parse_number): Update to new parse_float interface.
4875         Parse suffixes and determine type before calling parse_float.
4877         * m2-exp.y: Replace dval by byte buffer val.
4878         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4879         (parse_number): Call parse_float instead of atof.
4881         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4882         (lex_number): Call parse_float instead of strtod.
4883         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4884         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4885         Use write_exp_elt_floatcst.
4886         (unit_testing): Remove static variable.
4887         (rust_type): Do not check unit_testing.
4888         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4890         * ada-exp.y (type_float, type_double): Remove.
4891         (typed_val_float): Use byte buffer instead of DOUBLEST.
4892         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4893         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4895 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4897         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4898         * arch/aarch64.h: New file.
4900 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4902         * dfp.h (decimal_from_string): Use const reference for argument.
4903         * dfp.c (decimal_from_string): Likewise.
4905 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4907         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4908         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4909         * mips-tdep.c (mips_print_fp_register): Likewise.
4911 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4913         * common/format.h (enum argclass): Replace decfloat_arg by
4914         dec32float_arg, dec64float_arg, and dec128float_arg.
4915         * common/format.c (parse_format_string): Update to return
4916         new decimal float argument classes.
4918         * printcmd.c (printf_decfloat): Rename to ...
4919         (printf_floating): ... this.  Add argclass argument, and use it
4920         instead of parsing the format string again.  Add support for
4921         binary floating-point values, using floatformat_to_string.
4922         Convert value to the target format if it doesn't already match.
4923         (ui_printf): Call printf_floating instead of printf_decfloat,
4924         also for double_arg / long_double_arg.  Pass argclass.
4926         * dfp.c (decimal_to_string): Add format string argument.
4927         * dfp.h (decimal_to_string): Likewise.
4929         * doublest.c (floatformat_to_string): Add format string argument.
4930         * doublest.h (floatformat_to_string): Likewise.
4932 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4934         * doublest.c (floatformat_precision): New routine.
4935         (floatformat_to_string): Likewise.
4936         * doublest.c (floatformat_to_string): Add prototype.
4938         * printcmd.c (print_scalar_formatted): Only call print_floating
4939         on floating-point types.
4940         * valprint.c: Do not include "floatformat.h".
4941         (generic_val_print_decfloat): Remove.
4942         (generic_val_print): Call generic_val_print_float for both
4943         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4944         (print_floating): Use floatformat_to_string.  Handle decimal float.
4945         (print_decimal_floating): Remove, merge into floatformat_to_string.
4946         * value.h (print_decimal_floating): Remove.
4948         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4950 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4952         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4954 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4956         * memattr.h: Don't include vec.h.
4957         (struct mem_attrib): Initialize fields.
4958         <unknown>: New static method.
4959         (struct mem_region): Add constructors, operator<, initialize
4960         fields.
4961         * memattr.c: Include algorithm.
4962         (default_mem_attrib, unknown_mem_attrib): Remove.
4963         (user_mem_region_list): New global.
4964         (target_mem_region_list, mem_region_list): Change type to
4965         std::vector<mem_region>.
4966         (mem_use_target): Now a function.
4967         (target_mem_regions_valid): Change type to bool.
4968         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4969         (require_user_regions): Adjust.
4970         (require_target_regions): Adjust.
4971         (create_mem_region): Adjust.
4972         (lookup_mem_region): Adjust.
4973         (invalidate_target_mem_regions): Adjust.
4974         (mem_clear): Rename to...
4975         (user_mem_clear): ... this, and adjust.
4976         (mem_command): Adjust.
4977         (info_mem_command): Adjust.
4978         (mem_enable, enable_mem_command, mem_disable,
4979         disable_mem_command): Adjust.
4980         (mem_delete): Adjust.
4981         (delete_mem_command): Adjust.
4982         * memory-map.h (parse_memory_map): Return an std::vector.
4983         * memory-map.c (parse_memory_map): Likewise.
4984         (struct memory_map_parsing_data): Add constructor.
4985         <memory_map>: Point to std::vector.
4986         (memory_map_start_memory): Adjust.
4987         (memory_map_end_memory): Adjust.
4988         (memory_map_end_property): Adjust.
4989         (clear_result): Remove.
4990         * remote.c (remote_memory_map): Return an std::vector.
4991         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4992         Remove.
4993         (target_debug_print_mem_region_vector): New.
4994         * target-delegates.c: Regenerate.
4995         * target.h (mem_region_vector): New typedef.
4996         (to_memory_map): Return mem_region_vector.
4997         (target_memory_map): Return an std::vector.
4998         * target.c (target_memory_map): Return an std::vector.
4999         (flash_erase_command): Adjust.
5001 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
5003         * memory-map.c (struct memory_map_parsing_data) <property_name>:
5004         Change type to std::string.
5005         (memory_map_start_property): Adjust.
5006         (memory_map_end_property): Adjust.
5008 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
5010         * infrun.h: Include common/byte-vector.h.
5011         (struct displaced_step_closure): New struct.
5012         (struct buf_displaced_step_closure): New struct.
5013         * infrun.c (displaced_step_closure::~displaced_step_closure):
5014         Provide default implementation.
5015         (displaced_step_clear): Deallocate step closure with delete.
5016         * aarch64-tdep.c (displaced_step_closure): Rename to ...
5017         (aarch64_displaced_step_closure): ... this, extend
5018         displaced_step_closure.
5019         (aarch64_displaced_step_data) <dsc>: Change type to
5020         aarch64_displaced_step_closure.
5021         (aarch64_displaced_step_copy_insn): Adjust to type change, use
5022         unique_ptr.
5023         (aarch64_displaced_step_fixup): Add cast for displaced step
5024         closure.
5025         * amd64-tdep.c (displaced_step_closure): Rename to ...
5026         (amd64_displaced_step_closure): ... this, extend
5027         displaced_step_closure.
5028         <insn_buf>: Change type to std::vector<gdb_byte>.
5029         <max_len>: Remove.
5030         (fixup_riprel): Change type of DSC parameter, adjust to type
5031         change of insn_buf.
5032         (fixup_displaced_copy): Change type of DSC parameter.
5033         (amd64_displaced_step_copy_insn): Instantiate
5034         amd64_displaced_step_closure.
5035         (amd64_displaced_step_fixup): Add cast for closure type, adjust
5036         to type change of insn_buf.
5037         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
5038         parameter DSC.
5039         (arm_linux_copy_svc): Likewise.
5040         (cleanup_kernel_helper_return): Likewise.
5041         (arm_catch_kernel_helper_return): Likewise.
5042         (arm_linux_displaced_step_copy_insn): Instantiate
5043         arm_displaced_step_closure.
5044         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
5045         (displaced_read_reg): Change type of parameter DSC.
5046         (branch_write_pc): Likewise.
5047         (load_write_pc): Likewise.
5048         (alu_write_pc): Likewise.
5049         (displaced_write_reg): Likewise.
5050         (arm_copy_unmodified): Likewise.
5051         (thumb_copy_unmodified_32bit): Likewise.
5052         (thumb_copy_unmodified_16bit): Likewise.
5053         (cleanup_preload): Likewise.
5054         (install_preload): Likewise.
5055         (arm_copy_preload): Likewise.
5056         (thumb2_copy_preload): Likewise.
5057         (install_preload_reg): Likewise.
5058         (arm_copy_preload_reg): Likewise.
5059         (cleanup_copro_load_store): Likewise.
5060         (install_copro_load_store): Likewise.
5061         (arm_copy_copro_load_store) Likewise.
5062         (thumb2_copy_copro_load_store): Likewise.
5063         (cleanup_branch): Likewise.
5064         (install_b_bl_blx): Likewise.
5065         (arm_copy_b_bl_blx): Likewise.
5066         (thumb2_copy_b_bl_blx): Likewise.
5067         (thumb_copy_b): Likewise.
5068         (install_bx_blx_reg): Likewise.
5069         (arm_copy_bx_blx_reg): Likewise.
5070         (thumb_copy_bx_blx_reg): Likewise.
5071         (cleanup_alu_imm): Likewise.
5072         (arm_copy_alu_imm): Likewise.
5073         (thumb2_copy_alu_imm): Likewise.
5074         (cleanup_alu_reg): Likewise.
5075         (install_alu_reg): Likewise.
5076         (arm_copy_alu_reg): Likewise.
5077         (thumb_copy_alu_reg): Likewise.
5078         (cleanup_alu_shifted_reg): Likewise.
5079         (install_alu_shifted_reg): Likewise.
5080         (arm_copy_alu_shifted_reg): Likewise.
5081         (cleanup_load): Likewise.
5082         (cleanup_store): Likewise.
5083         (arm_copy_extra_ld_st): Likewise.
5084         (install_load_store): Likewise.
5085         (thumb2_copy_load_literal): Likewise.
5086         (thumb2_copy_load_reg_imm): Likewise.
5087         (arm_copy_ldr_str_ldrb_strb): Likewise.
5088         (cleanup_block_load_all): Likewise.
5089         (cleanup_block_store_pc): Likewise.
5090         (cleanup_block_load_pc): Likewise.
5091         (arm_copy_block_xfer): Likewise.
5092         (thumb2_copy_block_xfer): Likewise.
5093         (cleanup_svc): Likewise.
5094         (install_svc): Likewise.
5095         (arm_copy_svc): Likewise.
5096         (thumb_copy_svc): Likewise.
5097         (arm_copy_undef): Likewise.
5098         (thumb_32bit_copy_undef): Likewise.
5099         (arm_copy_unpred): Likewise.
5100         (arm_decode_misc_memhint_neon): Likewise.
5101         (arm_decode_unconditional): Likewise.
5102         (arm_decode_miscellaneous): Likewise.
5103         (arm_decode_dp_misc): Likewise.
5104         (arm_decode_ld_st_word_ubyte): Likewise.
5105         (arm_decode_media): Likewise.
5106         (arm_decode_b_bl_ldmstm): Likewise.
5107         (arm_decode_ext_reg_ld_st): Likewise.
5108         (thumb2_decode_dp_shift_reg): Likewise.
5109         (thumb2_decode_ext_reg_ld_st): Likewise.
5110         (arm_decode_svc_copro): Likewise.
5111         (thumb2_decode_svc_copro): Likewise.
5112         (install_pc_relative): Likewise.
5113         (thumb_copy_pc_relative_16bit): Likewise.
5114         (thumb_decode_pc_relative_16bit): Likewise.
5115         (thumb_copy_pc_relative_32bit): Likewise.
5116         (thumb_copy_16bit_ldr_literal): Likewise.
5117         (thumb_copy_cbnz_cbz): Likewise.
5118         (thumb2_copy_table_branch): Likewise.
5119         (cleanup_pop_pc_16bit_all): Likewise.
5120         (thumb_copy_pop_pc_16bit): Likewise.
5121         (thumb_process_displaced_16bit_insn): Likewise.
5122         (decode_thumb_32bit_ld_mem_hints): Likewise.
5123         (thumb_process_displaced_32bit_insn): Likewise.
5124         (thumb_process_displaced_insn): Likewise.
5125         (arm_process_displaced_insn): Likewise.
5126         (arm_displaced_init_closure): Likewise.
5127         (arm_displaced_step_fixup): Add cast for closure.
5128         * arm-tdep.h: Include infrun.h.
5129         (displaced_step_closure): Rename to ...
5130         (arm_displaced_step_closure): ... this, extend
5131         displaced_step_closure.
5132         <u::svc::copy_svc_os>: Change type of parameter DSC.
5133         <cleanup>: Likewise.
5134         (arm_process_displaced_insn): Likewise.
5135         (arm_displaced_init_closure): Likewise.
5136         (displaced_read_reg): Likewise.
5137         (displaced_write_reg): Likewise.
5138         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5139         Adjust.
5140         * i386-tdep.h: Include infrun.h.
5141         (i386_displaced_step_closure): New typedef.
5142         * i386-tdep.c (i386_displaced_step_copy_insn): Use
5143         i386_displaced_step_closure.
5144         (i386_displaced_step_fixup): Adjust.
5145         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
5146         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
5147         and unique_ptr.
5148         (ppc_displaced_step_fixup): Adjust.
5149         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
5150         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
5151         and unique_ptr.
5152         (s390_displaced_step_fixup): Adjust.
5154 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
5156         * interps.h (interp_resume, interp_suspend, interp_set_temp):
5157         Remove declarations.
5159 2017-10-20  Tom Tromey  <tom@tromey.com>
5161         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
5162         std::vector.
5163         (gdb_bfd_record_inclusion): Update.
5164         (bfdp): Remove typedef.
5166 2017-10-20  Tom Tromey  <tom@tromey.com>
5168         * gdb_bfd.c (gdb_bfd_ref): Use new.
5169         (struct gdb_bfd_data): Add constructor, destructor, and member
5170         initializers.
5171         (gdb_bfd_unref): Use delete.
5173 2017-10-20  Tom Tromey  <tom@tromey.com>
5175         * exec.c (exec_file_attach): Use new_bfd_ref.
5176         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
5177         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
5178         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
5179         new_bfd_ref.
5180         * gdb_bfd.h (new_bfd_ref): New function.
5182 2017-10-20  Pedro Alves  <palves@redhat.com>
5184         * main.c (captured_command_loop): Add attribute noinline.
5186 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
5188         * interps.c (struct interp_factory): Add constructor.
5189         (interp_factory_p): Remove typedef.
5190         (DEF_VEC_P(interp_factory_p)): Remove.
5191         (interpreter_factories): Change type to std::vector.
5192         (interp_factory_register): Adjust.
5193         (interp_lookup): Adjust.
5194         (interpreter_completer): Adjust.
5196 2017-10-19  Tom Tromey  <tom@tromey.com>
5198         * break-catch-syscall.c (catch_syscall_completer): Use
5199         std::string, gdb::unique_xmalloc_ptr.
5201 2017-10-19  Tom Tromey  <tom@tromey.com>
5203         * infcall.c (call_function_by_hand_dummy): Use std::string.
5205 2017-10-19  Tom Tromey  <tom@tromey.com>
5207         * mi/mi-main.c (mi_cmd_execute): Update.
5208         * top.h (prepare_execute_command): Return scoped_value_mark.
5209         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
5210         Add move constructor.
5211         * top.c (prepare_execute_command): Return scoped_value_mark.
5212         (execute_command): Update.
5214 2017-10-19  Pedro Alves  <palves@redhat.com>
5216         * xml-support.c (xml_fetch_content_from_file): Check fread's
5217         return.
5219 2017-10-19  Pedro Alves  <palves@redhat.com>
5221         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
5222         async.
5223         (handle_error_fd): New function.
5224         (ser_base_async): Add/delete an event loop file handler for
5225         error_fd.
5227 2017-10-19  Pedro Alves  <palves@redhat.com>
5229         * xml-support.c (xml_fetch_content_from_file): Don't read in
5230         chunks.  Instead use fseek to determine the file's size, and read
5231         it in one go.
5233 2017-11-18  Keith Seitz  <keiths@redhat.com>
5235         * c-exp.y (oper): Canonicalize conversion operators of user-defined
5236         types.
5237         Add whitespace to front of type name.
5239 2017-10-18  Keith Seitz  <keiths@redhat.com>
5241         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
5242         DW_AT_accessibility.
5244 2017-10-18  Yao Qi  <yao.qi@linaro.org>
5246         * features/tic6x-c62x-linux.c: Remove.
5248 2017-10-17  Tom Tromey  <tom@tromey.com>
5250         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
5251         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
5252         (do_mixed_source_and_assembly): Likewise.
5254 2017-10-17  Tom Tromey  <tom@tromey.com>
5256         * regcache.c (regcache::xfer_part): Remove assertion.
5258 2017-10-17  Pedro Alves  <palves@redhat.com>
5260         * xml-support.c (xml_fetch_content_from_file): Call
5261         unique_ptr::release() instead unique_ptr::get() when passing
5262         through xrealloc.
5264 2017-10-17  Yao Qi  <yao.qi@linaro.org>
5266         * regcache.c (regcache::xfer_part): Remove parameters read and
5267         write, add parameter is_raw.  All callers are updated.
5269 2017-10-16  Keith Seitz  <keiths@redhat.com>
5271         * c-typeprint.c (enum access_specifier): Moved here from
5272         c_type_print_base.
5273         (output_access_specifier): New function.
5274         (c_type_print_base): Consider typedefs when assessing
5275         whether access labels are needed.
5276         Use output_access_specifier as needed.
5277         Output access specifier for typedefs, if needed.
5278         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
5279         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
5280         fields.
5281         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
5282         accessor macros.
5284 2017-10-16  Tom Tromey  <tom@tromey.com>
5286         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
5287         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
5288         * target.c (target_fileio_read_stralloc): Update.
5289         * sparc64-tdep.c (adi_is_addr_mapped): Update.
5290         * target.h (target_fileio_read_stralloc): Return
5291         unique_xmalloc_ptr.
5293 2017-10-16  Tom Tromey  <tom@tromey.com>
5295         * xml-syscall.c (xml_init_syscalls_info): Update.
5296         * xml-support.c (xinclude_start_include): Update.
5297         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
5298         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
5299         (xml_fetch_content_from_file): Likewise.
5300         * osdata.c (get_osdata): Update.
5301         * target.h (target_read_stralloc, target_get_osdata): Return
5302         unique_xmalloc_ptr.
5303         * solib-aix.c (solib_aix_get_library_list): Update.
5304         * solib-target.c (solib_target_current_sos): Update.
5305         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
5306         * xml-tdesc.c (fetch_available_features_from_target): Update.
5307         (target_fetch_description_xml): Update.
5308         (file_read_description_xml): Update.
5309         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
5310         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
5311         (remote_pid_to_exec_file): Update.
5312         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
5313         (target_get_osdata): Likewise.
5315 2017-10-16  Tom Tromey  <tom@tromey.com>
5317         * remote.c (remote_register_number_and_offset): Use std::vector.
5318         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
5319         (putpkt_binary): Use gdb::def_vector.
5320         (compare_sections_command): Use gdb::byte_vector.
5322 2017-10-16  Tom Tromey  <tom@tromey.com>
5324         * ppc-linux-nat.c (hwdebug_insert_point): Use
5325         gdb::unique_xmalloc_ptr, XDUP.
5327 2017-10-16  Tom Tromey  <tom@tromey.com>
5329         * probe.c (parse_probes): Use std::string.
5330         (info_probes_for_ops, enable_probes_command)
5331         (disable_probes_command): Remove cleanups.
5333 2017-10-16  Tom Tromey  <tom@tromey.com>
5335         * buildsym.c (block_compar): Remove.
5336         (end_symtab_get_static_block): Use std::vector.
5338 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
5340         * memrange.h (struct mem_range): Define operator< and operator==.
5341         (mem_range_s): Remove.
5342         (DEF_VEC_O (mem_range_s)): Remove.
5343         (normalize_mem_ranges): Change parameter type to std::vector.
5344         * memrange.c (compare_mem_ranges): Remove.
5345         (normalize_mem_ranges): Change parameter type to std::vector,
5346         adjust to vector change.
5347         * exec.c (section_table_available_memory): Return vector, remove
5348         parameter.
5349         (section_table_read_available_memory): Adjust to std::vector
5350         change.
5351         * remote.c (remote_read_bytes): Adjust to std::vector
5352         change.
5353         * tracepoint.h (traceframe_available_memory): Change parameter
5354         type to std::vector.
5355         * tracepoint.c (traceframe_available_memory): Change parameter
5356         type to std::vector, adjust.
5357         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5358         std::vector change.
5359         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5360         unittests/memrange-selftests.c.
5361         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5362         * unittests/memrange-selftests.c: New file.
5364 2017-10-16  Pedro Alves  <palves@redhat.com>
5366         * elfread.c (probe_key_free): Rename range-for variable.
5367         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5368         (find_probe_by_pc, collect_probes): Rename range-for variable.
5370 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5372         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5373         * features/tic6x-c62x.c: Remove.
5374         * features/tic6x-c64x-linux.c: Remove.
5375         * features/tic6x-c64x.c: Remove.
5376         * features/tic6x-c64xp-linux.c: Remove.
5377         * features/tic6x-c64xp.c: Remove.
5378         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5379         initialize_tdesc_tic6x_*_linux functions.
5380         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5381         initialize_tdesc_tic6x_* functions.
5383 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5385         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5386         tic6x-c62x.
5387         * regformats/tic6x-c62x.dat: Remove.
5388         * regformats/tic6x-c64x.dat: Remove.
5389         * regformats/tic6x-c64xp.dat: Remove.
5391 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5393         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5394         (the !HAVE_LIBEXPAT version).
5396 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5398         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5399         const.
5401 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5403         * target.h: Include tracepoint.h.
5404         (enum trace_find_type): Move to tracepoint.h.
5405         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5406         * tracepoint.h: Don't include target.h
5407         (enum trace_find_type): Move from target.h.
5408         (parse_traceframe_info): Return a unique ptr.
5409         * tracepoint.c (current_traceframe_info): Change type to unique
5410         ptr.
5411         (free_traceframe_info): Remove.
5412         (clear_traceframe_info): Don't manually free
5413         current_traceframe_info.
5414         (free_result): Remove.
5415         (parse_traceframe_info): Return a unique ptr.
5416         (get_traceframe_info): Adjust to unique ptr.
5417         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5418         * remote.c (remote_traceframe_info): Return a unique ptr.
5419         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5420         ptr.
5421         * target-debug.h (target_debug_print_traceframe_info_up): New
5422         macro.
5423         * target-delegates.c: Regenerate.
5425 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5427         * memrange.h (struct mem_range): Add constructors.
5428         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5429         std::vector<mem_range>.
5430         * tracepoint.c (free_traceframe_info): Don't manually free
5431         vector.
5432         (traceframe_info_start_memory): Adjust to vector change.
5433         (traceframe_available_memory): Likewise.
5434         * tracefile-tfile.c (build_traceframe_info): Likewise.
5435         * ctf.c (ctf_traceframe_info): Likewise.
5437 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5439         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5440         std::vector<int>.
5441         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5442         (traceframe_info_start_tvar): Adjust to vector change.
5443         (parse_traceframe_info): Allocate with new.
5444         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5445         vector change.
5446         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5447         change.
5448         tfile_traceframe_info): Allocate with new.
5449         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5450         change.
5452 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5454         * tracepoint.c (traceframe_info): Rename to...
5455         (current_traceframe_info): ...this.
5456         (clear_traceframe_info): Adjust.
5457         (get_traceframe_info): Adjust.
5459 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5461         * nat/linux-osdata.c: Include algorithm.
5462         (compare_processes): Remove.
5463         (struct pid_pgid_entry): New struct.
5464         (linux_xfer_osdata_processgroups): Use std::vector instead of
5465         XNEWVEC.
5467 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5469         * objfiles.h: Don't include symfile.h.
5470         (struct partial_symbol): Remove forward-declaration.
5471         (struct objfile) <global_psymbols, static_psymbols>: Change type
5472         to std::vector<partial_symbol *>.
5473         * objfiles.c (objfile::objfile): Don't memset those fields.
5474         (objfile::~objfile): Don't free those fields.
5475         * psympriv.h (struct psymbol_allocation_list): Remove
5476         forward-declaration.
5477         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5478         to std::vector.
5479         (start_psymtab_common): Change parameters to std::vector.
5480         * psymtab.c: Include algorithm.
5481         (require_partial_symbols): Call shrink_to_fit.
5482         (find_pc_sect_psymbol): Adjust to vector change.
5483         (match_partial_symbol): Likewise.
5484         (lookup_partial_symbol): Likewise.
5485         (psym_relocate): Likewise.
5486         (dump_psymtab): Likewise.
5487         (recursively_search_psymtabs): Likewise.
5488         (compare_psymbols): Remove.
5489         (sort_pst_symbols): Adjust to vector change.
5490         (start_psymtab_common): Likewise.
5491         (end_psymtab_common): Likewise.
5492         (psymbol_bcache_full): De-constify return value.
5493         (add_psymbol_to_bcache): Likewise.
5494         (extend_psymbol_list): Remove.
5495         (append_psymbol_to_list): Adjust to vector change.
5496         (add_psymbol_to_list): Likewise.
5497         (init_psymbol_list): Likewise.
5498         (maintenance_info_psymtabs): Likewise.
5499         (maintenance_check_psymtabs): Likewise.
5500         * symfile.h (struct psymbol_allocation_list): Remove.
5501         * symfile.c (reread_symbols): Adjust to vector change.
5502         * dbxread.c (start_psymtab): Change type of parameters.
5503         (dbx_symfile_read): Adjust to vector change.
5504         (read_dbx_symtab): Likewise.
5505         (start_psymtab): Change type of parameters.
5506         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5507         (create_partial_symtab): Likewise.
5508         (add_partial_symbol): Likewise.
5509         (write_one_signatured_type): Likewise.
5510         (recursively_write_psymbols): Likewise.
5511         * mdebugread.c (parse_partial_symbols): Likewise.
5512         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5513         (scan_xcoff_symtab): Adjust to vector change.
5514         (xcoff_initial_scan): Likewise.
5516 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5518         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5520 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5522         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5523         Remove s390x-*-expedite, add s390x-expedite.
5525 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5527         * features/s390-gs-linux64.c: Regenerated.
5528         * features/s390x-gs-linux64.c: Regenerated.
5530 2017-10-13  Tom Tromey  <tom@tromey.com>
5532         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5533         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5534         delete.
5535         * symfile.c (symbol_file_add_with_addrs): Use new.
5536         (symbol_file_add_separate): Update comment.
5537         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5538         * jit.c (jit_object_close_impl): Use new.
5539         (jit_unregister_code): Use delete.
5540         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5541         (~objfile): Rename from free_objfile.
5542         (free_objfile_separate_debug, do_free_objfile_cleanup)
5543         (free_all_objfiles, objfile_purge_solibs): Use delete.
5544         * objfiles.h (struct objfile): Add constructor and destructor.
5545         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5546         (allocate_objfile, free_objfile): Don't declare.
5547         (struct objstats): Add initializers.
5549 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5551         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5552         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5553         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5554         * gdbarch.h: Regenerate.
5555         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5556         Adjust comment.
5557         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5558         (i386_displaced_step_fixup): Adjust comment.
5559         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5561 2017-10-12  Tom Tromey  <tom@tromey.com>
5563         * prologue-value.h (pv_area::store_would_trash): Return bool.
5564         (pv_area::find_reg): Likewise.
5565         * prologue-value.c (pv_area::store_would_trash): Return bool.
5566         (pv_area::find_reg): Likewise.
5568 2017-10-12  Tom Tromey  <tom@tromey.com>
5570         * s390-linux-tdep.c (s390_store, s390_load)
5571         (s390_check_for_saved, s390_analyze_prologue): Update.
5572         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5573         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5574         * prologue-value.h (class pv_area): Move from prologue-value.c.
5575         Change names of members.  Add constructor, destructor, member
5576         functions.
5577         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5578         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5579         (pv_area_fetch, pv_area_scan): Don't declare.
5580         * prologue-value.c (struct pv_area::area_entry): Now member of
5581         pv_area.
5582         (struct pv_area): Move to prologue-value.h.
5583         (pv_area::pv_area): Rename from make_pv_area.
5584         (pv_area::~pv_area): Rename from free_pv_area.
5585         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5586         (clear_entries, find_entry, overlaps, store_would_trash, store)
5587         (fetch, find_reg, scan): Now member of pv_area.
5588         Remove "area" argument.  Update.
5589         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5590         Update.
5591         * mn10300-tdep.c (push_reg, check_for_saved)
5592         (mn10300_analyze_prologue): Update.
5593         * mep-tdep.c (is_arg_spill, check_for_saved)
5594         (mep_analyze_prologue): Update.
5595         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5596         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5597         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5598         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5599         Update.
5600         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5601         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5603 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5605         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5606         * linux-nat.c (linux_nat_delete_thread): New variable.
5607         (lwp_free): Invoke linux_nat_delete_thread if set.
5608         (linux_nat_set_delete_thread): New function.
5609         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5610         thread delete callback.
5611         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5612         (_initialize_arm_linux_nat): Assign thread delete callback.
5613         * s390-linux-nat.c (s390_delete_thread): New function.
5614         (_initialize_s390_nat): Assign thread delete callback.
5615         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5616         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5617         function.
5618         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5619         declaration.
5620         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5621         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5623 2017-10-09  Tom Tromey  <tom@tromey.com>
5625         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5626         std::string.
5627         * tui/tui-layout.c (enum tui_status): Use std::string.
5629 2017-10-11  Tom Tromey  <tom@tromey.com>
5631         * gdbthread.h (thread_command): Constify.
5632         * inferior.h (detach_command): Constify.
5633         * top.h (set_history, show_history): Constify.
5634         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5635         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5636         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5637         * printcmd.c (set_command): Constify.
5638         (non_const_set_command): New function.
5639         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5640         * breakpoint.c (enable_command, disable_command, delete_command)
5641         (catch_command, tcatch_command, set_breakpoint_cmd)
5642         (show_breakpoint_cmd): Constify.
5643         * macrocmd.c (macro_command): Constify.
5644         * infcmd.c (unset_command, kill_command, detach_command)
5645         (info_proc_cmd): Constify.
5646         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5647         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5648         (info_auto_load_cmd): Constify.
5649         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5650         (unset_tdesc_cmd): Constify.
5651         * ada-lang.c (set_ada_command, show_ada_command)
5652         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5653         * guile/guile.c (set_guile_command, show_guile_command)
5654         (info_guile_command): Constify.
5655         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5656         Constify.
5657         * skip.c (skip_command): Constify.
5658         * compile/compile.c (_initialize_compile): Constify.
5659         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5660         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5661         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5662         (maint_btrace_pt_show_cmd): Constify.
5663         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5664         Constify.
5665         * python/python.c (user_show_python, user_set_python): Constify.
5666         * mips-tdep.c (set_mips_command, show_mips_command)
5667         (set_mipsfpu_command): Constify.
5668         * record-btrace.c (cmd_record_btrace_start)
5669         (cmd_set_record_btrace, cmd_show_record_btrace)
5670         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5671         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5672         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5673         Constify.
5674         * symfile.c (overlay_command): Constify.
5675         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5676         * cli/cli-logging.c (set_logging_command, show_logging_command):
5677         Constify.
5678         * cli/cli-dump.c (dump_command, append_command)
5679         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5680         (tekhex_dump_command, binary_dump_command)
5681         (binary_append_command): Constify.
5682         * cli/cli-decode.c (struct cmd_list_element): Change type of
5683         "fun".
5684         * cli/cli-cmds.c (info_command, show_command, set_debug)
5685         (show_debug): Constify.
5686         (show_command): Add non-const overload.
5687         * top.c (set_history, show_history): Constify.
5688         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5689         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5690         * target.c (target_command): Constify.
5691         * sparc64-tdep.c (info_adi_command): Constify.
5692         * record-full.c (cmd_record_full_start): Constify.
5693         (set_record_full_command): Constify.  Fix typo.
5694         (show_record_full_command): Constify.
5695         * thread.c (thread_command, thread_apply_command): Constify.
5696         * memattr.c (dummy_cmd): Constify.
5697         * value.c (function_command): Constify.
5698         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5699         * probe.c (info_probes_command): Constify.
5700         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5701         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5702         (show_thread_cmd, set_thread_default_cmd)
5703         (show_thread_default_cmd): Constify.
5704         (check_empty): Constify.
5705         * tracepoint.c (tfind_command): Constify.
5706         * cp-support.c (maint_cplus_command): Constify.
5707         * windows-tdep.c (info_w32_command): Constify.
5708         * record.c (cmd_record_start, set_record_command)
5709         (show_record_command, info_record_command, cmd_record_goto):
5710         Constify.
5711         * ravenscar-thread.c (set_ravenscar_command)
5712         (show_ravenscar_command): Constify.
5713         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5714         Constify.
5715         (add_internal_problem_command): Remove casts.
5716         * arc-tdep.c (maintenance_print_arc_command): Constify.
5717         * valprint.c (set_print, show_print, set_print_raw)
5718         (show_print_raw): Constify.
5719         * maint.c (maintenance_command, maintenance_info_command)
5720         (maintenance_print_command, maintenance_set_cmd)
5721         (maintenance_show_cmd, set_per_command_cmd)
5722         (show_per_command_cmd, maintenance_check_command): Constify.
5723         * language.c (set_check, show_check): Constify.
5724         * typeprint.c (show_print_type, set_print_type): Constify.
5725         * go32-nat.c (go32_info_dos_command): Constify.
5727 2017-10-11  Tom Tromey  <tom@tromey.com>
5729         * breakpoint.c (prepare_re_set_context): Remove.
5730         (breakpoint_re_set_one): Update.  Don't use cleanups.
5731         (breakpoint_re_set): Use scoped_restore, std::string, and
5732         scoped_restore_current_language.
5734 2017-10-11  Tom Tromey  <tom@tromey.com>
5736         * breakpoint.c (commands_command_1): Use std::string.
5737         (cleanup_executing_breakpoints): Remove.
5738         (bpstat_do_actions_1): Use scoped_restore.
5739         (bpstat_check_watchpoint): Use std::string.
5740         (decode_static_tracepoint_spec): Likewise.
5741         (break_range_command): Likewise.
5742         (watch_command_1): Likewise.
5743         (compare_breakpoints): Change argument types.
5744         (clear_command): Use std::vector.
5745         (cleanup_executing_breakpoints): Remove.
5746         (update_global_location_list): Use unique_xmalloc_ptr.
5747         (strace_command): Remove unused declaration.
5749 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5751         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5752         * NEWS: Mention new FreeBSD/arm native configuration.
5753         * configure.host: Add arm*-*-freebsd*.
5754         * configure.nat: Likewise.
5755         * arm-fbsd-nat.c: New file.
5757 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5759         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5760         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5761         * NEWS: Mention new FreeBSD/arm target.
5762         * configure.tgt: Add arm*-*-freebsd*.
5763         * arm-fbsd-tdep.c: New file.
5764         * arm-fbsd-tdep.h: New file.
5766 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5768         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5769         `gdbarch_elfcore_write_linux_prpsinfo'.
5770         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5771         method.
5772         (elf_internal_linux_prpsinfo): Remove declaration.
5773         * gdbarch.h: Regenerate.
5774         * gdbarch.c: Regenerate.
5776 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5778         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5779         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5781 2017-10-11  Pedro Alves  <palves@redhat.com>
5783         * breakpoint.c (reattach_breakpoints): Delete.
5784         * breakpoint.h (reattach_breakpoints): Delete.
5786 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5788         * symfile.c (registered_sym_fns): Make struct, not typedef.
5789         (DEF_VEC_O (registered_sym_fns)): Remove.
5790         (symtab_fns): Change type to std::vector.
5791         (add_symtab_fns): Adjust.
5792         (find_sym_fns): Adjust.
5794 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5796         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5797         * arc-tdep.h (arc_arch_is_em): New function.
5798         (arc_arch_is_hs): Likewise.
5800 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5802         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5803         parentheses in the declaration.
5804         (macro_lookup_inclusion): Likewise.
5805         (macro_lookup_definition): Likewise.
5806         * p-lang.h (pascal_builtin_types): Likewise.
5807         * tui/tui-data.c (tui_win_list): Likewise.
5808         * tui/tui-data.h (tui_win_list): Likewise.
5809         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5811 2017-10-11  Mark Rages  <markrages@gmail.com>
5813         * target-memory.c (block_boundaries): Fix for block address not
5814         aligned on block size.
5816 2017-10-10  Pedro Alves <palves@redhat.com>
5817             Tom Tromey  <tom@tromey.com>
5819         * breakpoint.c (struct captured_breakpoint_query_args)
5820         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5821         (print_breakpoint): New.
5822         * breakpoint.h (print_breakpoint): Declare.
5823         * common/common-exceptions.h (enum return_reason): Remove
5824         references to catch_exceptions.
5825         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5826         Delete.
5827         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5828         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5829         * gdb.h: Delete.
5830         * gdbthread.h (thread_select): Declare.
5831         * mi/mi-cmd-break.c: Don't include gdb.h.
5832         (breakpoint_notify): Use print_breakpoint.
5833         * mi/mi-cmd-catch.c: Don't include gdb.h.
5834         * mi/mi-interp.c: Don't include gdb.h.
5835         (mi_print_breakpoint_for_event): New.
5836         (mi_breakpoint_created, mi_breakpoint_modified): Use
5837         mi_print_breakpoint_for_event.
5838         * mi/mi-main.c: Don't include gdb.h.
5839         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5840         thread_select instead of gdb_thread_select.
5841         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5842         of using gdb_list_thread_ids.
5843         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5844         FILEIO_ENOSYS here.
5845         (remote_fileio_request): Use TRY/CATCH instead of
5846         catch_exceptions.
5847         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5848         (symbol_file_add_from_memory_wrapper): Delete.
5849         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5850         * thread.c: Don't include gdb.h.
5851         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5852         (thread_alive): Use thread_select.
5853         (do_captured_thread_select): Delete, parts salvaged as ...
5854         (thread_select): ... this new function.
5855         (gdb_thread_select): Delete.
5857 2017-10-10  Pedro Alves  <palves@redhat.com>
5858             Tom Tromey  <tom@tromey.com>
5860         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5861         and reverse logic.
5862         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5863         No longer macros.  Instead ...
5864         (enum wp_check_result): They're now values of this new
5865         enumeration.
5866         (watchpoint_check): Change return type to wp_check_result and
5867         parameter type to bpstat.
5868         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5869         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5870         catch_errors.  Reverse logic of watchpoint_check call.
5871         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5872         pointer as parameter.
5873         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5874         * common/common-exceptions.c (throw_exception_sjlj): Update
5875         comments to avoid mentioning catch_errors.
5876         * exceptions.c (catch_errors): Delete.
5877         * exceptions.h: Update comments to avoid mentioning catch_errors.
5878         (catch_errors_ftype, catch_errors): Delete.
5879         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5880         (hook_stop_stub): Delete.
5881         (restore_selected_frame): Change return type to void, and
5882         parameter type to const frame_id &.
5883         (restore_infcall_control_state): Use TRY/CATCH instead of
5884         catch_errors.
5885         * main.c (captured_command_loop): Return void and remove
5886         parameter.  Remove references to catch_errors.
5887         (captured_main): Use TRY/CATCH instead of catch_errors.
5888         * objc-lang.c (objc_submethod_helper_data)
5889         (find_objc_msgcall_submethod_helper): Delete.
5890         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5891         catch_errors.
5892         * record-full.c (record_full_message): Return void.
5893         (record_full_message_args, record_full_message_wrapper): Delete.
5894         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5895         instead of catch_errors.
5896         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5897         parameter type to int.
5898         * solib-darwin.c (open_symbol_file_object): Ditto.
5899         * solib-dsbt.c (open_symbol_file_object): Ditto.
5900         * solib-frv.c (open_symbol_file_object): Ditto.
5901         * solib-svr4.c (open_symbol_file_object): Ditto.
5902         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5903         * solib.c (update_solib_list): Use TRY/CATCH instead of
5904         catch_errors.
5905         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5906         Change type.
5907         * symmisc.c (struct print_symbol_args): Remove.
5908         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5909         (print_symbol): Change type.
5910         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5911         and remove parameters.
5912         (catch_errors): New.
5913         (get_windows_debug_event): Adjust.
5915 2017-10-09  Tom Tromey  <tom@tromey.com>
5917         * mi/mi-main.c (free_splay_tree): Remove.
5918         (list_available_thread_groups): Use splay_tree_up.
5919         * common/gdb_splay_tree.h: New file.
5921 2017-10-09  Tom Tromey  <tom@tromey.com>
5923         * mi/mi-main.c (do_nothing): Remove.
5924         (list_available_thread_groups): Update.
5926 2017-10-09  Pedro Alves  <palves@redhat.com>
5928         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5929         reading registers when switching context.
5931 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5933         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5934         (fbsd_convert_siginfo): Likewise.
5935         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5937 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5939         * configure.ac (try_guile_versions): Remove guile-2.2.
5940         * configure: Regenerate.
5942 2017-10-09  Tom Tromey  <tom@tromey.com>
5944         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5945         (COMPILE.pre): Use $(CXX).
5947 2017-10-09  Pedro Alves  <palves@redhat.com>
5949         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5950         Use bool.
5951         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5952         * cp-support.h (cp_remove_params): Now returns a
5953         gdb::unique_xmalloc_ptr.
5954         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5955         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5956         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5957         returning a gdb::unique_xmalloc_ptr.
5958         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5959         * stack.c (find_frame_funname): Adjust to cp_remove_params
5960         returning a gdb::unique_xmalloc_ptr.
5962 2017-10-08  Tom Tromey  <tom@tromey.com>
5964         * dwarf2read.c (dwarf2_get_dwz_file): Use
5965         gdb::unique_xmalloc_ptr.
5966         (find_slot_in_mapped_hash): Likewise.
5967         (dwarf2_physname): Likewise.
5968         (create_dwo_unit_in_dwp_v1): Use std::string.
5969         (create_dwo_unit_in_dwp_v2): Likewise.
5970         (lookup_dwo_cutu): Likewise.
5971         (inherit_abstract_dies): Use std::vector.
5972         (read_array_type): Likewise.
5973         (dwarf_decode_macros): Remove unused declaration.
5974         (unsigned_int_compar): Remove.
5975         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5976         (psymtabs_addrmap_cleanup): Remove.
5978 2017-10-08  Tom Tromey  <tom@tromey.com>
5980         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5981         * frame.h (frame_cleanup_after_sniffer): Declare.
5982         (frame_prepare_for_sniffer): Return void.
5983         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5984         type of argument.
5985         (frame_prepare_for_sniffer): Return void.
5987 2017-10-08  Tom Tromey  <tom@tromey.com>
5989         * utils.h (make_cleanup_value_free): Remove.
5990         * utils.c (do_value_free, struct cleanup): Remove.
5991         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5992         Use gdb_value_up.
5993         * value.h (struct value_deleter): New.
5994         (gdb_value_up): New typedef.
5996 2017-10-08  Tom Tromey  <tom@tromey.com>
5998         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5999         (make_cleanup_free_search_symbols): Remove.
6000         (search_symbols): Return std::vector.
6001         (symbol_search::compare_search_syms): Now member of
6002         symbol_search.  Change arguments.
6003         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
6004         (symtab_symbol_info, rbreak_command): Update.
6005         * symtab.h (struct symbol_search) <next>: Remove.
6006         Add constructors.
6007         (symbol_search::operator<): New function.
6008         (symbol_search::operator==): New function.
6009         (search_symbols): Remove std::vector.
6010         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
6011         (symbol_search::compare_search_syms): Declare.
6013 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6015         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
6016         arch/aarch64-insn.o.
6017         Remove one rule.
6018         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
6020 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6022         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
6023         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
6024         arch/arm-linux.o respectively.
6025         * configure.tgt: Likewise.
6027 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6029         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
6030         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
6032 2017-10-06  Pedro Alves  <palves@redhat.com>
6034         * windows-nat.c: Include <algorithm>.
6036 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6038         * configure.tgt (i386_tobjs): New variable.
6039         (amd64_tobjs): New variable.
6040         Set $cpu_obs and $os_obs.
6042 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6044         * Makefile.in (CONFIG_SRC_SUBDIR): New.
6045         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
6046         (clean): Remove object files and dependency files.
6047         (distclean): Remove the directory.
6048         * configure.ac: Invoke AC_CONFIG_COMMANDS.
6049         * configure: Re-generated.
6050         * configure.tgt: Replace amd64.o with arch/amd64.o.
6052 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
6054         PR build/22188
6055         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
6056         and SETEND.
6058 2017-10-05  Pedro Alves  <palves@redhat.com>
6060         * linux-nat.c (linux_child_follow_fork): When following the parent
6061         and detaching the child, consult the parent thread's architecture
6062         instead of the child's.
6064 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
6066         * ax.h: Do not include "doublest.h".
6067         (union agent_val): Remove.
6069 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
6071         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
6072         (decimal_to_string): Return std::string object.
6073         (decimal_from_string): Accept std::string object.  Return bool.
6074         (decimal_from_integral, decimal_from_doublest): Remove.
6075         (decimal_from_longest): Add prototype.
6076         (decimal_from_ulongest): Likewise.
6077         (decimal_to_longest): Likewise.
6078         (decimal_from_doublest): Likewise.
6079         * dfp.c: Do not include "gdbtypes.h" or "value.h".
6080         (MAX_DECIMAL_STRING): Move here.
6081         (decimal_to_string): Return std::string object.
6082         (decimal_from_string): Accept std::string object.  Return bool.
6083         (decimal_from_integral): Remove, replace by ...
6084         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
6085         (decimal_to_longest): New function.
6086         (decimal_from_floating): Remove, replace by ...
6087         (decimal_from_doublest): ... this new function.
6088         (decimal_to_doublest): Update to new decimal_to_string interface.
6090         * value.c (unpack_long): Use decimal_to_longest.
6091         * valops.c (value_cast): Use decimal_from_doublest instead of
6092         decimal_from_floating.  Use decimal_from_[u]longest isntead of
6093         decimal_from_integral.
6094         * valarith.c (value_args_as_decimal): Likewise.
6095         * valprint.c (print_decimal_floating): Update to new
6096         decimal_to_string interface.
6097         * printcmd.c (printf_decfloat): Likewise.
6098         * c-exp.y (parse_number): Update to new decimal_from_string interface.
6100 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
6102         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
6103         * gdbtypes.c: Include "floatformat.h".
6104         * value.c: Likewise.
6105         * m68k-tdep.c: Likewise.
6107         * findvar.c: Do not include "floatformat.h".
6108         * amd64-darwin-tdep.c: Likewise.
6109         * arm-linux-tdep.c: Likewise.
6110         * i386-darwin-tdep.c: Likewise.
6111         * i387-tdep.c: Likewise.
6112         * m68k-linux-tdep.c: Likewise.
6113         * mep-tdep.c: Likewise.
6114         * mips-tdep.c: Likewise.
6115         * nios2-tdep.c: Likewise.
6116         * s390-linux-tdep.c: Likewise.
6117         * sparc-obsd-tdep.c: Likewise.
6118         * sparc-tdep.c: Likewise.
6119         * sparc64-tdep.c: Likewise.
6120         * spu-tdep.c: Likewise.
6121         * tic6x-tdep.c: Likewise.
6122         * tilegx-tdep.c: Likewise.
6123         * vax-tdep.c: Likewise.
6124         * xstormy16-tdep.c: Likewise.
6125         * xtensa-tdep.c: Likewise.
6127         * top.c: Do not include "doublest.h".
6128         * aarch64-tdep.c: Likewise.
6129         * alpha-tdep.c: Likewise.
6130         * arm-linux-tdep.c: Likewise.
6131         * m68k-linux-tdep.c: Likewise.
6132         * tilegx-tdep.c: Likewise.
6133         * xstormy16-tdep.c: Likewise.
6135 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
6137         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
6138         (mipsn32_fbsd_sigframe): Define.
6139         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
6140         for FreeBSD/mipsn32.
6142 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
6144         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
6145         AT_HWCAP.
6147 2017-10-05  Tristan Gingold  <tgingold@free.fr>
6149         * MAINTAINERS (Misc): Update my email address.
6151 2017-10-04  Pedro Alves  <palves@redhat.com>
6153         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
6154         it instead of target_gdbarch.
6155         (get_remote_state, get_remote_packet_size): Adjust
6156         get_remote_arch_state calls, passing down target_gdbarch
6157         explicitly.
6158         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
6159         'gdbarch' and use it instead of target_gdbarch.
6160         (get_memory_packet_size): Adjust get_remote_arch_state calls,
6161         passing down target_gdbarch explicitly.
6162         (struct stop_reply) <arch>: New field.
6163         (remote_parse_stop_reply): Use the stopped thread's architecture,
6164         not the current inferior's.  Save the architecture in the
6165         stop_reply.
6166         (process_stop_reply): Use the stop reply's architecture.
6167         (process_g_packet, remote_fetch_registers)
6168         (remote_prepare_to_store, store_registers_using_G)
6169         (remote_store_registers): Adjust get_remote_arch_state calls,
6170         using the regcache's architecture.
6171         (remote_get_trace_status): Adjust get_remote_arch_state calls,
6172         passing down target_gdbarch explicitly.
6173         * spu-multiarch.c (spu_thread_architecture): Defer to the target
6174         beneath instead of calling target_gdbarch.
6175         * target.c (default_thread_architecture): Use the specified
6176         inferior's architecture, instead of the current inferior's
6177         architecture (via target_gdbarch).
6179 2017-10-04  Pedro Alves  <palves@redhat.com>
6181         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
6182         case.
6183         (regcache_print): Handle !target_has_registers here instead.
6185 2017-10-04  Pedro Alves  <palves@redhat.com>
6187         * frame.c (create_test_frame): Delete.
6188         * frame.h (create_test_frame): Delete.
6189         * gdbarch-selftests.c: Include gdbthread.h and target.h.
6190         (class regcache_test): Delete.
6191         (test_target_has_registers, test_target_has_stack)
6192         (test_target_has_memory, test_target_prepare_to_store)
6193         (test_target_store_registers): New functions.
6194         (test_target_ops): New class.
6195         (register_to_value_test): Error out if there's already a
6196         process_stratum (or higher) target pushed.  Create a fuller mock
6197         environment, with mock target_ops, inferior, address space, thread
6198         and inferior_ptid.
6199         * progspace.c (struct address_space): Move to ...
6200         * progspace.h (struct address_space): ... here.
6201         * regcache.h (regcache::~regcache, regcache::raw_write)
6202         [GDB_SELF_TEST]: No longer virtual.
6204 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
6206         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
6208 2017-10-04  Pedro Alves  <palves@redhat.com>
6210         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
6211         out of 'between TRY and CATCH'.
6213 2017-10-04  Pedro Alves  <palves@redhat.com>
6215         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
6216         * common/common-exceptions.h (TRY): Open an outermost scope.
6217         Expand intro comment.
6218         (CATCH): Reindent.
6219         (END_CATCH): Close the outermost scope.
6220         * completer.c (complete_line_internal): Add missing END_CATCH.
6222 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6224         * NEWS (Changes since GDB 8.0): Add entry about new
6225         'set-cwd-on-gdbserver' feature.
6226         (New remote packets): Add entry for QSetWorkingDir.
6227         * common/common-inferior.h (set_inferior_cwd): New prototype.
6228         * infcmd.c (set_inferior_cwd): Remove "static".
6229         (show_cwd_command): Expand text to include remote debugging.
6230         * remote.c: Add PACKET_QSetWorkingDir.
6231         (remote_protocol_features) <QSetWorkingDir>: New entry for
6232         PACKET_QSetWorkingDir.
6233         (extended_remote_set_inferior_cwd): New function.
6234         (extended_remote_create_inferior): Call
6235         "extended_remote_set_inferior_cwd".
6236         (_initialize_remote): Call "add_packet_config_cmd" for
6237         QSetWorkingDir.
6239 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6241         * NEWS (New commands): Mention "set/show cwd".
6242         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
6243         "cd" command's help text.
6244         * common/common-inferior.h (get_inferior_cwd): New prototype.
6245         * infcmd.c (inferior_cwd_scratch): New global variable.
6246         (set_inferior_cwd): New function.
6247         (get_inferior_cwd): Likewise.
6248         (set_cwd_command): Likewise.
6249         (show_cwd_command): Likewise.
6250         (_initialize_infcmd): Add "set/show cwd" commands.
6251         * inferior.h (class inferior) <cwd>: New field.
6252         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
6253         (fork_inferior): Change inferior's cwd before its execution.
6254         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
6255         to CreateProcess.
6257 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6259         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
6260         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
6261         (COMMON_OBS): Add gdb_tilde_expand.o.
6262         * common/gdb_tilde_expand.c: New file.
6263         * common/gdb_tilde_expand.h: Likewise.
6265 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
6267         * gdbarch.sh (objfile): Remove duplicate declaration.
6268         * gdbarch.h: Regenerate.
6270 2017-10-03  Tom Tromey  <tom@tromey.com>
6272         * utils.c (internal_vproblem): Use string_vprintf.
6274 2017-10-03  Tom Tromey  <tom@tromey.com>
6276         * printcmd.c (info_symbol_command): Use std::string.
6278 2017-10-03  Tom Tromey  <tom@tromey.com>
6280         * top.c (gdb_safe_append_history): Use std::string.
6282 2017-10-03  Tom Tromey  <tom@tromey.com>
6284         * event-top.c (stdin_event_handler): Update.
6285         * main.c (captured_main_1): Update.
6286         * top.h (make_delete_ui_cleanup): Remove.
6287         (struct ui): Add constructor and destructor.
6288         (new_ui, delete_ui): Remove.
6289         * top.c (make_delete_ui_cleanup): Remove.
6290         (new_ui_command): Use std::unique_ptr.
6291         (delete_ui_cleanup): Remove.
6292         (ui::ui): Rename from new_ui.  Update.
6293         (free_ui): Remove.
6294         (ui::~ui): Rename from delete_ui.  Update.
6296 2017-10-03  Tom Tromey  <tom@tromey.com>
6298         * symfile.c (load_progress): Use gdb::byte_vector.
6300 2017-10-03  Tom Tromey  <tom@tromey.com>
6302         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
6303         declaration.
6304         * printcmd.c (x_command): Remove unused declaration.
6305         * symfile.c (symbol_file_command): Remove unused declaration.
6307 2017-10-03  Tom Tromey  <tom@tromey.com>
6309         * utils.c (internal_vproblem): Use std::string.
6310         (defaulted_query): Likewise.
6312 2017-10-03  Tom Tromey  <tom@tromey.com>
6314         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
6315         * top.c (execute_command_to_string): Update.
6316         * utils.c (make_cleanup_restore_page_info): Remove.
6317         (do_restore_page_info_cleanup): Remove.
6318         (set_batch_flag_and_restore_page_info):
6319         New.
6320         (make_cleanup_restore_page_info): Remove.
6321         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6322         (~set_batch_flag_and_restore_page_info): New
6323         (make_cleanup_restore_uinteger): Remove.
6324         (make_cleanup_restore_integer): Remove.
6325         (struct restore_integer_closure): Remove.
6326         (restore_integer): Remove.
6327         * utils.h (struct set_batch_flag_and_restore_page_info): New
6328         class.
6329         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6330         (make_cleanup_restore_page_info): Remove.
6331         (make_cleanup_restore_uinteger) Remove.
6332         (make_cleanup_restore_integer) Remove.
6334 2017-10-03  Tom Tromey  <tom@tromey.com>
6336         * record-full.h (record_full_gdb_operation_disable_set): Return
6337         scoped_restore_tmpl<int>.
6338         * infrun.c (adjust_pc_after_break): Update.
6339         (handle_signal_stop): Update.
6340         * record-full.c (record_full_gdb_operation_disable_set): Return
6341         scoped_restore_tmpl<int>.
6342         (record_full_wait_1, record_full_insert_breakpoint)
6343         (record_full_remove_breakpoint, record_full_save)
6344         (record_full_goto_insn): Update.
6346 2017-10-02  Tom Tromey  <tom@tromey.com>
6348         PR rust/22236:
6349         * rust-lang.c (rust_val_print_str): New function.
6350         (val_print_struct): Call it.
6351         (rust_subscript): Preserve name of slice type.
6353 2017-10-02  Tom Tromey  <tom@tromey.com>
6355         * rust-lang.c (rust_subscript): Handle slices in
6356         EVAL_AVOID_SIDE_EFFECTS case.
6358 2017-10-02  Tom Tromey  <tom@tromey.com>
6360         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6362 2017-10-02  Tom Tromey  <tom@tromey.com>
6364         * rust-lang.h (rust_slice_type): Add "extern".
6366 2017-10-02  Tom Tromey  <tom@tromey.com>
6367             Pedro Alves  <palves@redhat.com>
6369         * ada-lang.h (ada_exc_info::operator<): Make const.
6370         (ada_exc_info::operator==): Make const.
6371         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6372         Make const.
6374 2017-09-29  Tom Tromey  <tom@tromey.com>
6376         * target.c (read_whatever_is_readable): Change type of "result".
6377         Update.
6378         (free_memory_read_result_vector): Remove.
6379         (read_memory_robust): Change return type.  Update.
6380         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6381         bin2hex, std::string.
6382         * target.h (memory_read_result_s): Remove typedef.
6383         (free_memory_read_result_vector): Remove.
6384         (read_memory_robust): Return std::vector.
6386 2017-09-29  Tom Tromey  <tom@tromey.com>
6388         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6390 2017-09-29  Tom Tromey  <tom@tromey.com>
6392         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6393         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6394         operator< and operator==.
6395         (ada_exceptions_list): Return a std::vector.
6396         * ada-lang.c (ada_exc_info::operator<): Rename from
6397         compare_ada_exception_info.
6398         (ada_exc_info::operator==): New.
6399         (sort_remove_dups_ada_exceptions_list): Change type of
6400         "exceptions".
6401         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6402         (ada_add_global_exceptions): Likewise.
6403         (ada_exceptions_list_1): Return a std::vector.
6404         (ada_exceptions_list): Likewise.
6406 2017-09-29  Tom Tromey  <tom@tromey.com>
6408         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6409         'std::set *'.
6410         (print_one_inferior): Update.
6411         (free_vector_of_ints): Remove.
6412         (list_available_thread_groups): Change "ids" to std::set.
6413         (mi_cmd_list_thread_groups): Update.
6414         (struct collect_cores_data) <core>: Now a std::set.
6415         (collect_cores): Update.
6416         (unique): Remove.
6417         (print_one_inferior): Update.
6419 2017-09-29  Tom Tromey  <tom@tromey.com>
6421         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6422         (mi_execute_async_cli_command): Likewise.
6423         (mi_cmd_trace_frame_collected): Use field_fmt.
6425 2017-09-29  Tom Tromey  <tom@tromey.com>
6427         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6428         gdb::byte_vector.
6430 2017-09-29  Tom Tromey  <tom@tromey.com>
6432         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6434 2017-09-29  Tom Tromey  <tom@tromey.com>
6436         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6438 2017-09-29  Tom Tromey  <tom@tromey.com>
6440         * varobj.h (varobj_gen_name): Return std::string.
6441         * varobj.c (varobj_gen_name): Return std::string.
6442         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6443         (mi_cmd_var_delete): Don't copy "name".
6445 2017-09-29  Tom Tromey  <tom@tromey.com>
6447         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6448         (mi_cmd_break_insert_1): Update.
6450 2017-09-29  Tom Tromey  <tom@tromey.com>
6452         * target.h (make_scoped_defer_target_commit_resume): Update.
6453         * target.c (make_scoped_defer_target_commit_resume): Rename from
6454         make_cleanup_defer_target_commit_resume.  Return a
6455         scoped_restore.
6456         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6458 2017-09-29  Tom Tromey  <tom@tromey.com>
6460         * main.c (captured_main_1): Remove unused declaration.
6461         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6463 2017-09-29  Tom Tromey  <tom@tromey.com>
6465         * symtab.c (search_symbols): Remove unused outer cleanup.
6466         (make_source_files_completion_list): Remove unused declaration.
6468 2017-09-29  Tom Tromey  <tom@tromey.com>
6470         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6472 2017-09-29  Tom Tromey  <tom@tromey.com>
6474         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6475         gdb::byte_vector.
6477 2017-09-29  Tom Tromey  <tom@tromey.com>
6479         * complaints.c (vcomplaint): Use std::string.
6481 2017-09-29  Tom Tromey  <tom@tromey.com>
6483         * tracepoint.c (trace_variable_command): Use std::string.
6484         (encode_actions_1): Remove unused declarations.
6485         (create_tsv_from_upload): Use std::string.
6487 2017-09-29  Tom Tromey  <tom@tromey.com>
6489         * cp-support.c (gdb_demangle): Use std::string.
6491 2017-09-29  Tom Tromey  <tom@tromey.com>
6493         * stack.c (parse_frame_specification): Use std::string
6494         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6496 2017-09-29  Tom Tromey  <tom@tromey.com>
6498         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6500 2017-09-29  Tom Tromey  <tom@tromey.com>
6502         * utils.c (vfprintf_maybe_filtered): Use std::string.
6503         (vfprintf_unfiltered): Likewise.
6505 2017-09-29  Tom Tromey  <tom@tromey.com>
6507         * event-top.c (top_level_prompt): Return std::string.
6508         (display_gdb_prompt): Update.
6510 2017-09-29  Tom Tromey  <tom@tromey.com>
6512         * unittests/common-utils-selftests.c (format): New function.
6513         (string_vprintf_tests): New function.
6514         (_initialize_common_utils_selftests): Register new tests.
6515         * common/common-utils.c (string_vprintf): New function.
6516         * common/common-utils.h (string_vprintf): Declare.
6518 2017-09-29  Pedro Alves  <palves@redhat.com>
6520         * common/rsp-low.c (unpack_varlen_hex): Constify.
6521         * common/rsp-low.h (unpack_varlen_hex): Constify.
6522         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6523         Constify.
6524         * remote.c (remote_set_permissions, read_ptid)
6525         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6526         (remote_static_tracepoint_marker_at)
6527         (remote_static_tracepoint_markers_by_strid)
6528         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6529         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6530         (parse_tracepoint_definition, parse_tsv_definition)
6531         (parse_static_tracepoint_marker_definition): Constify.
6532         * tracepoint.h (parse_static_tracepoint_marker_definition)
6533         (parse_trace_status, parse_tracepoint_status)
6534         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6536 2017-09-29  Pedro Alves  <palves@redhat.com>
6538         * remote.c (target_buf, target_buf_size): Delete.
6539         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6540         Use the connection's packet buffer instead.
6541         All callers adjusted.
6542         (_initialize_remote): Remove references to target_buf and
6543         target_buf_size.
6545 2017-09-28  Pedro Alves  <palves@redhat.com>
6547         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6548         unittests/common-utils-selftests.c.
6549         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6550         (COMMON_OBS): Remove utils-selftests.o.
6551         * utils-selftests.c: Move to ...
6552         * unittests/common-utils-selftests.c: ... here and rename self
6553         test to "string_printf".
6555 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6557         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6558         having NULL cus or tus.
6560 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6562         * arm-tdep.c: (convert_from_extended): Remove.
6563         (convert_to_extended): Likewise.
6564         (arm_extract_return_value): Use convert_typed_floating.
6565         (arm_store_return_value): Likewise.
6567         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6568         * sh-tdep.c: Do not include "floatformat.h".
6569         (sh_littlebyte_bigword_type): New function.
6570         (sh_register_convert_to_virtual): Use convert_typed_floating.
6571         (sh_register_convert_to_raw): Likewise.
6572         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6573         (sh64_littlebyte_bigword_type): New function.
6574         (sh64_extract_return_value): Use convert_typed_floating.
6575         (sh64_register_convert_to_virtual): Likewise.
6576         (sh64_register_convert_to_raw): Likewise.
6578 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6580         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6581         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6583         * gdbtypes.h (union type_specific): Make field floatformat hold
6584         just a single struct floatformat, not an array.
6585         (floatformat_from_type): Move here.
6586         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6587         changed TYPE_FLOATFORMAT definition.
6588         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6589         (recursive_dump_type): Likewise.
6590         (init_float_type): Install correct floatformat for byte order.
6591         (arch_float_type): Likewise.
6593 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6595         * gdbtypes.c (init_type): Change incoming argument from
6596         length-in-bytes to length-in-bits.  Assert length is a
6597         multiple of TARGET_CHAR_BITS.
6598         (arch_type, arch_flags_type): Likewise.
6599         (init_integer_type): Update call to init_type.
6600         (init_character_type): Likewise.
6601         (init_boolean_type): Likewise.
6602         (init_float_type): Likewise.
6603         (init_decfloat_type): Likewise.
6604         (init_complex_type): Likewise.
6605         (init_pointer_type): Likewise.
6606         (objfile_type): Likewise.
6607         (arch_integer_type): Update call to arch_type.
6608         (arch_character_type): Likewise.
6609         (arch_boolean_type): Likewise.
6610         (arch_float_type): Likewise.
6611         (arch_decfloat_type): Likewise.
6612         (arch_complex_type): Likewise.
6613         (arch_pointer_type): Likewise.
6614         (gdbtypes_post_init): Likewise.
6616         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6617         (read_base_type): Likewise.
6618         * mdebugread.c (basic_type): Likewise.
6619         * stabsread.c (dbx_init_float_type): Likewise.
6620         (rs6000_builtin_type): Likewise.
6621         (read_range_type): Likewise.  Also, fix call to init_integer_type
6622         with erroneous length argument.
6624         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6625         * d-lang.c (build_d_types): Likewise.
6626         * f-lang.c (build_fortran_types): Likewise.
6627         * go-lang.c (build_go_types): Likewise.
6628         * opencl-lang.c (build_opencl_types): Likewise.
6629         * jit.c (finalize_symtab): Likewise.
6630         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6631         (build_std_type_info_type): Likewise.
6632         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6633         update call to arch_flags_type.
6635         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6636         arch_type.
6637         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6638         * windows-tdep.c (windows_get_tlb_type): Likewise.
6640         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6641         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6642         * m32c-tdep.c (make_types): Likewise.
6643         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6644         (rl78_psw_type): Update call to arch_flags_type.
6645         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6646         * rx-tdep.c (rx_psw_type): Likewise.
6647         (rx_fpsw_type): Likewise.
6648         * sparc-tdep.c (sparc_psr_type): Likewise.
6649         (sparc_fsr_type): Likewise.
6650         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6651         (sparc64_ccr_type): Likewise.
6652         (sparc64_fsr_type): Likewise.
6653         (sparc64_fprs_type): Likewise.
6655 2017-09-27  Tom Tromey  <tom@tromey.com>
6657         * findcmd.c (find_command): Constify.
6659 2017-09-27  Tom Tromey  <tom@tromey.com>
6661         * ada-tasks.c (task_command_1, task_command): Constify.
6663 2017-09-27  Tom Tromey  <tom@tromey.com>
6665         * symtab.c (maintenance_print_symbol_cache)
6666         (maintenance_flush_symbol_cache)
6667         (maintenance_print_symbol_cache_statistics): Constify.
6669 2017-09-27  Tom Tromey  <tom@tromey.com>
6671         * inferior.c (detach_inferior_command, kill_inferior_command)
6672         (inferior_command): Constify.
6674 2017-09-27  Tom Tromey  <tom@tromey.com>
6676         * regcache.c (regcache_print, maintenance_print_registers)
6677         (maintenance_print_raw_registers)
6678         (maintenance_print_cooked_registers)
6679         (maintenance_print_register_groups)
6680         (maintenance_print_remote_registers): Constify.
6682 2017-09-27  Tom Tromey  <tom@tromey.com>
6684         * printcmd.c (map_display_numbers, undisplay_command)
6685         (enable_disable_display_command, enable_display_command)
6686         (disable_display_command): Constify.
6688 2017-09-27  Tom Tromey  <tom@tromey.com>
6690         * breakpoint.h (delete_command): Don't declare.
6691         * breakpoint.c (delete_command, enable_once_command)
6692         (enable_count_command, enable_delete_command, breakpoint_1)
6693         (maintenance_info_breakpoints, stopin_command, stopat_command)
6694         (delete_command, delete_trace_command, save_breakpoints)
6695         (save_breakpoints_command, save_tracepoints_command): Constify.
6697 2017-09-27  Tom Tromey  <tom@tromey.com>
6699         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6700         (skip_ws, extract_identifier, macro_define_command)
6701         (macro_undef_command, macro_list_command): Constify.
6703 2017-09-27  Tom Tromey  <tom@tromey.com>
6705         * infcmd.c (environment_info, set_environment_command)
6706         (unset_environment_command, path_info, info_proc_cmd_1)
6707         (info_proc_cmd_mappings, info_proc_cmd_stat)
6708         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6709         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6711 2017-09-27  Tom Tromey  <tom@tromey.com>
6713         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6714         Constify.
6716 2017-09-27  Tom Tromey  <tom@tromey.com>
6718         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6720 2017-09-27  Tom Tromey  <tom@tromey.com>
6722         * demangle.c (demangle_command): Constify.
6724 2017-09-27  Tom Tromey  <tom@tromey.com>
6726         * progspace.c (maintenance_info_program_spaces_command):
6727         Constify.
6729 2017-09-27  Tom Tromey  <tom@tromey.com>
6731         * compile/compile.c (check_raw_argument, compile_file_command)
6732         (compile_code_command, compile_print_command): Constify.
6734 2017-09-27  Tom Tromey  <tom@tromey.com>
6736         * reggroups.c (maintenance_print_reggroups): Constify.
6738 2017-09-27  Tom Tromey  <tom@tromey.com>
6740         * dwarf2read.c (save_gdb_index_command): Constify.
6742 2017-09-27  Tom Tromey  <tom@tromey.com>
6744         * stap-probe.c (info_probes_stap_command): Constify.
6746 2017-09-27  Tom Tromey  <tom@tromey.com>
6748         * fork-child.c (unset_exec_wrapper_command): Constify.
6750 2017-09-27  Tom Tromey  <tom@tromey.com>
6752         * btrace.c (get_uint, get_context_size, no_chunk)
6753         (maint_btrace_packet_history_cmd)
6754         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6755         (maint_info_btrace_cmd): Constify.
6757 2017-09-27  Tom Tromey  <tom@tromey.com>
6759         * reverse.c (delete_bookmark_command): Constify.
6761 2017-09-27  Tom Tromey  <tom@tromey.com>
6763         * remote.c (set_memory_packet_size)
6764         (set_memory_write_packet_size, show_memory_write_packet_size)
6765         (set_memory_read_packet_size, show_memory_read_packet_size)
6766         (compare_sections_command, packet_command, remote_put_command)
6767         (remote_get_command, remote_delete_command): Constify.
6769 2017-09-27  Tom Tromey  <tom@tromey.com>
6771         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6772         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6773         (set_mipsfpu_auto_command): Constify.
6775 2017-09-27  Tom Tromey  <tom@tromey.com>
6777         * cli/cli-cmds.h (cd_command): Constify.
6778         * cli/cli-cmds.c (cd_command): Constify.
6780 2017-09-27  Tom Tromey  <tom@tromey.com>
6782         * thread.c (thread_name_command, thread_find_command): Constify.
6784 2017-09-27  Tom Tromey  <tom@tromey.com>
6786         * probe.c (enable_probes_command, disable_probes_command):
6787         Constify.
6789 2017-09-27  Tom Tromey  <tom@tromey.com>
6791         * symfile.c (symbol_file_command): Constify.
6792         * gdbcore.h (deprecated_file_changed_hook): Constify.
6793         * exec.c (deprecated_file_changed_hook, exec_file_command)
6794         (file_command): Constify.
6795         * defs.h (symbol_file_command): Constify.
6797 2017-09-27  Tom Tromey  <tom@tromey.com>
6799         * remote-fileio.c (set_system_call_allowed)
6800         (show_system_call_allowed): Constify.
6802 2017-09-27  Tom Tromey  <tom@tromey.com>
6804         * tracepoint.c (delete_trace_variable_command)
6805         (tfind_end_command, tfind_start_command, tfind_pc_command)
6806         (tfind_tracepoint_command, tfind_line_command)
6807         (tfind_range_command, tfind_outside_command): Constify.
6809 2017-09-27  Tom Tromey  <tom@tromey.com>
6811         * ax-gdb.c (maint_agent_printf_command, agent_command)
6812         (agent_eval_command): Constify.
6814 2017-09-27  Tom Tromey  <tom@tromey.com>
6816         * tracepoint.c (info_scope_command): Constify.
6817         * python/python.c (gdbpy_decode_line): Constify.
6818         * python/py-breakpoint.c (bppy_init): Constify.
6819         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6820         * location.h: (new_linespec_location)
6821         (string_to_event_location_basic, string_to_event_location):
6822         Constify.
6823         * location.c (new_linespec_location)
6824         (string_to_event_location_basic, string_to_event_location):
6825         Constify.
6826         * linespec.h (decode_line_with_current_source)
6827         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6828         * linespec.c (linespec_lex_to_end)
6829         (decode_line_with_current_source)
6830         (decode_line_with_last_displayed): Constify.
6831         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6832         Constify.
6833         * cli/cli-cmds.c (edit_command, list_command): Constify.
6834         * breakpoint.h (until_break_command, watch_command_wrapper)
6835         (awatch_command_wrapper, rwatch_command_wrapper)
6836         (init_ada_exception_breakpoint): Constify.
6837         * breakpoint.c (break_command_1, dprintf_command)
6838         (break_range_command, watch_command_wrapper)
6839         (rwatch_command_wrapper, awatch_command_wrapper)
6840         (until_break_command, init_ada_exception_breakpoint)
6841         (strace_marker_create_sals_from_location, trace_command)
6842         (ftrace_command, strace_command, struct tracepoint): Constify.
6843         * ax-gdb.c (agent_command_1): Constify.
6844         * ada-lang.c (ada_exception_sal): Constify.
6846 2017-09-27  Tom Tromey  <tom@tromey.com>
6848         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6849         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6850         (get_context_size, no_chunk, get_insn_history_modifiers)
6851         (cmd_record_insn_history, get_call_history_modifiers)
6852         (cmd_record_call_history): Constify.
6854 2017-09-27  Tom Tromey  <tom@tromey.com>
6856         * source.c (show_substitute_path_command)
6857         (unset_substitute_path_command, set_substitute_path_command):
6858         Constify.
6860 2017-09-27  Tom Tromey  <tom@tromey.com>
6862         * typeprint.c (maintenance_print_type): Constify.
6863         * maint.c (maintenance_dump_me, maintenance_demangle)
6864         (maintenance_time_display, maintenance_info_sections)
6865         (maintenance_print_statistics, maintenance_deprecate)
6866         (maintenance_undeprecate): Constify.
6867         (maintenance_do_deprecate): Constify.  Use std::string.
6868         (maintenance_selftest): Constify.
6869         * gdbtypes.h (maintenance_print_type): Constify.
6871 2017-09-27  Tom Tromey  <tom@tromey.com>
6873         * hppa-tdep.c (unwind_command): Constify.
6875 2017-09-27  Tom Tromey  <tom@tromey.com>
6877         * target-descriptions.c (unset_tdesc_filename_cmd)
6878         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6879         Constify.
6881 2017-09-27  Tom Tromey  <tom@tromey.com>
6883         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6885 2017-09-27  Tom Tromey  <tom@tromey.com>
6887         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6889 2017-09-27  Tom Tromey  <tom@tromey.com>
6891         * tui/tui-regs.c (tui_reg_command): Constify.
6893 2017-09-27  Tom Tromey  <tom@tromey.com>
6895         * skip.c (skip_file_command, skip_function_command)
6896         (skip_enable_command, skip_disable_command, skip_delete_command):
6897         Constify.
6899 2017-09-27  Tom Tromey  <tom@tromey.com>
6901         * record-btrace.c (cmd_record_btrace_bts_start)
6902         (cmd_record_btrace_pt_start): Constify.
6904 2017-09-27  Tom Tromey  <tom@tromey.com>
6906         * symmisc.c (maintenance_print_symbols)
6907         (maintenance_print_msymbols, maintenance_print_objfiles)
6908         (maintenance_info_symtabs, maintenance_check_symtabs)
6909         (maintenance_expand_symtabs, maintenance_info_line_tables):
6910         Constify.
6912 2017-09-27  Tom Tromey  <tom@tromey.com>
6914         * top.c (new_ui_command): Constify.
6916 2017-09-27  Tom Tromey  <tom@tromey.com>
6918         * symfile.c (add_symbol_file_command)
6919         (remove_symbol_file_command, list_overlays_command)
6920         (map_overlay_command, unmap_overlay_command)
6921         (overlay_auto_command, overlay_manual_command)
6922         (overlay_off_command, overlay_load_command): Constify.
6924 2017-09-27  Tom Tromey  <tom@tromey.com>
6926         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6927         (info_spu_mailbox_command, info_spu_dma_command)
6928         (info_spu_proxydma_command): Constify.
6930 2017-09-27  Tom Tromey  <tom@tromey.com>
6932         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6934 2017-09-27  Tom Tromey  <tom@tromey.com>
6936         * cli/cli-script.c (user_defined_command): Constify.
6938 2017-09-27  Tom Tromey  <tom@tromey.com>
6940         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6941         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6942         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6943         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6944         (dump_binary_value, append_binary_memory, append_binary_value):
6945         Constify.
6946         (struct dump_context) <func>: Constify.
6947         (add_dump_command): Update.
6949 2017-09-27  Tom Tromey  <tom@tromey.com>
6951         * cli/cli-cmds.c (show_version, show_configuration)
6952         (source_command, show_user): Constify.
6954 2017-09-27  Tom Tromey  <tom@tromey.com>
6956         * target.c (maintenance_print_target_stack): Constify.
6958 2017-09-27  Tom Tromey  <tom@tromey.com>
6960         * interps.c (interpreter_exec_cmd): Constify.
6962 2017-09-27  Tom Tromey  <tom@tromey.com>
6964         * record-full.c (cmd_record_full_restore): Constify.
6966 2017-09-27  Tom Tromey  <tom@tromey.com>
6968         * memattr.c (enable_mem_command, disable_mem_command)
6969         (delete_mem_command): Constify.
6971 2017-09-27  Tom Tromey  <tom@tromey.com>
6973         * value.c (show_convenience): Constify.
6975 2017-09-27  Tom Tromey  <tom@tromey.com>
6977         * gdbcore.h (core_file_command): Update.
6978         * corefile.c (core_file_command): Constify.
6980 2017-09-27  Tom Tromey  <tom@tromey.com>
6982         * user-regs.c (maintenance_print_user_registers): Constify.
6984 2017-09-27  Tom Tromey  <tom@tromey.com>
6986         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6988 2017-09-27  Tom Tromey  <tom@tromey.com>
6990         * cp-support.c (first_component_command): Constify.
6992 2017-09-27  Tom Tromey  <tom@tromey.com>
6994         * psymtab.c (maintenance_print_psymbols)
6995         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6996         Constify.
6998 2017-09-27  Tom Tromey  <tom@tromey.com>
7000         * windows-tdep.c (display_tib): Constify.
7002 2017-09-27  Tom Tromey  <tom@tromey.com>
7004         * linux-fork.c (delete_checkpoint_command)
7005         (detach_checkpoint_command): Constify.
7007 2017-09-27  Tom Tromey  <tom@tromey.com>
7009         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
7011 2017-09-27  Tom Tromey  <tom@tromey.com>
7013         * arc-tdep.c (dump_arc_instruction_command): Constify.
7015 2017-09-27  Tom Tromey  <tom@tromey.com>
7017         * valprint.c (set_radix, show_radix): Constify.
7019 2017-09-27  Tom Tromey  <tom@tromey.com>
7021         * dtrace-probe.c (info_probes_dtrace_command): Constify.
7023 2017-09-27  Tom Tromey  <tom@tromey.com>
7025         * command.h (not_just_help_class_command): Update.
7026         * cli/cli-decode.h (not_just_help_class_command): Update.
7027         * cli/cli-decode.c (not_just_help_class_command): Constify.
7029 2017-09-27  Tom Tromey  <tom@tromey.com>
7031         * gdb_bfd.c (maintenance_info_bfds): Constify.
7033 2017-09-27  Tom Tromey  <tom@tromey.com>
7035         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
7036         overloads.
7037         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
7038         (do_const_cfunc): New function.
7039         (cmd_cfunc_eq): New overload.
7040         (cli_user_command_p): Check do_const_cfunc.
7041         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
7042         const_cfunc.
7043         * command.h (add_cmd): Add const overload and no-function
7044         overload.
7045         (set_cmd_cfunc): Add const overload.
7046         (cmd_const_cfunc_ftype): Declare.
7047         (cmd_cfunc_eq): Add const overload.
7048         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
7049         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
7050         overload.
7052 2017-09-27  Tom Tromey  <tom@tromey.com>
7054         * macroexp.c (get_next_token_for_substitution): New function.
7055         (substitute_args): Call it.  Check for __VA_OPT__.
7057 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7058             Pedro Alves <palves@redhat.com>
7060         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
7061         producer_is_icc_lt_14.
7062         (producer_is_icc_lt_14): New function.
7063         (check_producer): Add code for checking version of ICC.
7064         (producer_is_icc): Move to producer.c.
7065         (read_structure_type): Restrict ICC workaround to ICC<14.
7066         * producer.c: Include selftest.h.
7067         (producer_is_icc, producer_parsing_tests, _initialize_producer):
7068         New functions.
7069         * producer.h (producer_is_icc): New declaration.
7071 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7073         * Makefile.in (SFILES): Add producer.c.
7074         (COMMON_OBS): Add producer.o
7075         * amd64-tdep.c (producer.h): Add new include.
7076         * dwarf2read.c (producer.h): Add new include.
7077         * producer.c: New file.
7078         * producer.h: New file.
7079         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
7080         producer.c.
7081         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
7082         producer.h.
7084 2017-09-26  Matthias Klose  <doko@ubuntu.com>
7086         * configure.ac: Search ncursesw before ncurses.
7087         Check ncursesw/ncurses.h before ncurses/ncurses.h.
7088         * gdb_curses.h: Include <ncursesw/ncurses.h>
7089         * config.in, configure: Regenerate.
7091 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7093         PR gdb/22185
7094         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
7095         obsolete.
7096         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
7097         Remove i386sol2 support.
7098         * configure.nat <i386sol2>: Remove.
7099         <sol2-64>: Fold into ...
7100         <sol2>: ... this.
7101         Move common settings to default section.
7102         Add sol-thread.o.
7103         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
7104         x86_64-*-solaris2.1[0-9]*>: Rename to ...
7105         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
7106         <i[34567]86-*-solaris*>: Remove.
7107         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
7109         * configure.ac: Remove wctype in libw check.
7110         (_MSE_INT_H): Don't define on Solaris 7-9.
7111         <solaris*>: Remove libthread_db.so.1 check.
7112         * configure: Regenerate.
7113         * config.in: Regenerate.
7115         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
7116         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
7117         (gdb_ps_size_t): Remove.
7118         Use base types in users.
7119         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
7121         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
7123 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7125         PR build/22206
7126         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
7127         (adi_is_addr_mapped): Likewise.
7128         (PSR_ICC): Don't redefine.
7129         (PSR_IMPL): Likewise.
7131 2017-09-25  Tom Tromey  <tom@tromey.com>
7133         * regcache.c (regcache::dump): Use string_printf.
7135 2017-09-25  Tom Tromey  <tom@tromey.com>
7137         * regcache.c (class regcache_invalidator): New.
7138         (struct register_to_invalidate): Remove.
7139         (make_cleanup_regcache_invalidate): Remove.
7140         (regcache::raw_write): Use regcache_invalidator.
7142 2017-09-25  Tom Tromey  <tom@tromey.com>
7144         * spu-tdep.c (spu2ppu_sniffer): Update.
7145         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
7146         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
7147         Remove.
7148         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
7149         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
7150         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
7151         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
7152         (frame_pop): Update.
7154 2017-09-25  Tom Tromey  <tom@tromey.com>
7156         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
7157         * regcache.h (regcache_xfree): Don't declare.
7158         * regcache.c (regcache_xfree): Remove.
7159         (do_regcache_xfree): Use delete.
7160         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
7161         * linux-fork.c (free_fork): Use delete.
7162         (fork_save_infrun_state): Likewise.
7163         * jit.c (jit_dealloc_cache): Use delete.
7164         * infrun.c (discard_infcall_suspend_state): Use delete.
7166 2017-09-25  Tom Tromey  <tom@tromey.com>
7168         * regcache.h (regcache_xmalloc): Don't declare.
7169         (regcache_raw_set_cached_value): Update comment.
7170         * regcache.c (regcache_xmalloc): Remove.
7171         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
7172         * jit.c (jit_frame_sniffer): Use new.
7173         * frame.c (frame_save_as_regcache): Use new.
7175 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7177         * NEWS: Advertise support for guarded-storage registers on IBM z.
7179 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7181         * s390-linux-nat.c (have_regset_gs): New static variable.
7182         (s390_linux_fetch_inferior_registers): Handle guarded-storage
7183         control block and guarded-storage broadcast control regsets.
7184         (s390_read_description): Detect whether the target has
7185         guarded-storage support, return appropriate tdesc.
7186         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
7187         (features/s390x-gs-linux64.c): Likewise.
7188         (struct gdbarch_tdep) <have_gs>: New field.
7189         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
7190         (s390_gsbc_regset): New variables.
7191         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
7192         and s390_gsbc_regset, if applicable.
7193         (s390_core_read_description): Check whether core file was from a
7194         target with guarded-storage support; include appropriate regsets.
7195         (s390_gdbarch_init): Add registers for guarded-storage support.
7196         (_initialize_s390_tdep): Initialize new target descriptions that
7197         include registers for guarded-storage support.
7198         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
7199         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
7200         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
7201         (S390_NUM_REGS): Adjust macro definition.
7202         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
7203         (tdesc_s390x_gs_linux64): New declarations.
7205 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7207         * features/s390-gs-linux64.xml: New file.
7208         * features/s390-gs.xml: New file.
7209         * features/s390-gsbc.xml: New file.
7210         * features/s390x-gs-linux64.xml: New file.
7211         * features/Makefile (WHICH): Add s390-gs-linux64 and
7212         s390x-gs-linux64.
7213         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
7214         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
7215         * features/s390-gs-linux64.c: New generated file.
7216         * features/s390x-gs-linux64.c: New file.
7217         * regformats/s390-gs-linux64.dat: New file.
7218         * regformats/s390x-gs-linux64.dat: New file.
7220 2017-09-23  Tom Tromey  <tom@tromey.com>
7222         * defs.h (make_cleanup_override_quit_handler): Don't declare.
7224 2017-09-22  Tom Tromey  <tom@tromey.com>
7226         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
7227         type to scoped_restore_tmpl.
7228         <scoped_input_handler>: Initialize m_quit_handler directly.
7230 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
7232         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
7233         (cd_command): Likewise.  Free "current_directory" before
7234         assigning to it.
7235         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
7236         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
7237         * top.c (gdb_dirbuf): Remove global declaration.
7238         * top.h (gdb_dirbuf): Likewise.
7240 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
7242         * gnulib/aclocal.m4: Regenerate.
7243         * gnulib/config.in: Regenerate.
7244         * gnulib/configure: Regenerate.
7245         * gnulib/import/Makefile.am: Regenerate.
7246         * gnulib/import/Makefile.in: Regenerate.
7247         * gnulib/import/assure.h: New file.
7248         * gnulib/import/at-func.c: Likewise
7249         * gnulib/import/chdir-long.c: New file.
7250         * gnulib/import/chdir-long.h: New file.
7251         * gnulib/import/cloexec.c: New file.
7252         * gnulib/import/cloexec.h: New file.
7253         * gnulib/import/close.c: New file.
7254         * gnulib/import/closedir.c: New file.
7255         * gnulib/import/dirent-private.h: New file.
7256         * gnulib/import/dup-safer.c: New file.
7257         * gnulib/import/dup.c: New file.
7258         * gnulib/import/dup2.c: New file.
7259         * gnulib/import/error.c: New file.
7260         * gnulib/import/error.h: New file.
7261         * gnulib/import/exitfail.c: New file.
7262         * gnulib/import/exitfail.h: New file.
7263         * gnulib/import/fchdir.c: New file.
7264         * gnulib/import/fcntl.c: New file.
7265         * gnulib/import/fcntl.in.h: New file.
7266         * gnulib/import/fd-hook.c: New file.
7267         * gnulib/import/fd-hook.h: New file.
7268         * gnulib/import/fd-safer.c: New file.
7269         * gnulib/import/fdopendir.c: New file.
7270         * gnulib/import/filename.h: New file.
7271         * gnulib/import/filenamecat-lgpl.c: New file.
7272         * gnulib/import/filenamecat.h: New file.
7273         * gnulib/import/fstat.c: New file.
7274         * gnulib/import/fstatat.c: New file.
7275         * gnulib/import/getcwd-lgpl.c: New file.
7276         * gnulib/import/getcwd.c: New file.
7277         * gnulib/import/getdtablesize.c: New file.
7278         * gnulib/import/getlogin_r.c: New file.
7279         * gnulib/import/getprogname.c: New file.
7280         * gnulib/import/getprogname.h: New file.
7281         * gnulib/import/gettext.h: New file.
7282         * gnulib/import/glob-libc.h: New file.
7283         * gnulib/import/glob.c: New file.
7284         * gnulib/import/glob.in.h: New file.
7285         * gnulib/import/intprops.h: New file.
7286         * gnulib/import/m4/chdir-long.m4: New file.
7287         * gnulib/import/m4/close.m4: New file.
7288         * gnulib/import/m4/closedir.m4: New file.
7289         * gnulib/import/m4/d-ino.m4: New file.
7290         * gnulib/import/m4/d-type.m4: New file.
7291         * gnulib/import/m4/dup.m4: New file.
7292         * gnulib/import/m4/dup2.m4: New file.
7293         * gnulib/import/m4/error.m4: New file.
7294         * gnulib/import/m4/fchdir.m4: New file.
7295         * gnulib/import/m4/fcntl.m4: New file.
7296         * gnulib/import/m4/fcntl_h.m4: New file.
7297         * gnulib/import/m4/fdopendir.m4: New file.
7298         * gnulib/import/m4/filenamecat.m4: New file.
7299         * gnulib/import/m4/fstat.m4: New file.
7300         * gnulib/import/m4/fstatat.m4: New file.
7301         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
7302         * gnulib/import/m4/getcwd-path-max.m4: New file.
7303         * gnulib/import/m4/getcwd.m4: New file.
7304         * gnulib/import/m4/getdtablesize.m4: New file.
7305         * gnulib/import/m4/getlogin_r.m4: New file.
7306         * gnulib/import/m4/getprogname.m4: New file.
7307         * gnulib/import/m4/glob.m4: New file.
7308         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
7309         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
7310         * gnulib/import/m4/mempcpy.m4: New file.
7311         * gnulib/import/m4/memrchr.m4: New file.
7312         * gnulib/import/m4/mode_t.m4: New file.
7313         * gnulib/import/m4/msvc-inval.m4: New file.
7314         * gnulib/import/m4/msvc-nothrow.m4: New file.
7315         * gnulib/import/m4/open.m4: New file.
7316         * gnulib/import/m4/openat.m4: New file.
7317         * gnulib/import/m4/opendir.m4: New file.
7318         * gnulib/import/m4/readdir.m4: New file.
7319         * gnulib/import/m4/realloc.m4: New file.
7320         * gnulib/import/m4/rewinddir.m4: New file.
7321         * gnulib/import/m4/save-cwd.m4: New file.
7322         * gnulib/import/m4/strdup.m4: New file.
7323         * gnulib/import/m4/strerror.m4: New file.
7324         * gnulib/import/m4/unistd-safer.m4: New file.
7325         * gnulib/import/mempcpy.c: New file.
7326         * gnulib/import/memrchr.c: New file.
7327         * gnulib/import/msvc-inval.c: New file.
7328         * gnulib/import/msvc-inval.h: New file.
7329         * gnulib/import/msvc-nothrow.c: New file.
7330         * gnulib/import/msvc-nothrow.h: New file.
7331         * gnulib/import/open.c: New file.
7332         * gnulib/import/openat-die.c: New file.
7333         * gnulib/import/openat-priv.h: New file.
7334         * gnulib/import/openat-proc.c: New file.
7335         * gnulib/import/openat.c: New file.
7336         * gnulib/import/openat.h: New file.
7337         * gnulib/import/opendir.c: New file.
7338         * gnulib/import/pipe-safer.c: New file.
7339         * gnulib/import/readdir.c: New file.
7340         * gnulib/import/realloc.c: New file.
7341         * gnulib/import/rewinddir.c: New file.
7342         * gnulib/import/save-cwd.c: New file.
7343         * gnulib/import/save-cwd.h: New file.
7344         * gnulib/import/strdup.c: New file.
7345         * gnulib/import/strerror-override.c: New file.
7346         * gnulib/import/strerror-override.h: New file.
7347         * gnulib/import/strerror.c: New file.
7348         * gnulib/import/unistd--.h: New file.
7349         * gnulib/import/unistd-safer.h: New file.
7350         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
7351         "getcwd" and "glob".
7352         * ser-tcp.c: Undefine "close" before redefining it.
7354 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7356         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7357         get rid of res_val.
7359 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7361         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7362         <sol2,sparc>: Likewise.
7363         <sol2-64,i386>: Likewise.
7365         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7366         -Wdeprecated-declarations on *-*-solaris*.
7367         * configure: Regenerate.
7369         * procfs.c: Include "nat/inferior.h".
7370         (procfs_info_proc): Fix typo.
7372 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7374         * remote.c (vector): Include.
7375         (struct private_thread_info): Add field, thread_handle.
7376         (free_private_thread_info): Deallocate storage associated with
7377         thread handle.
7378         (get_private_info_thread): Initialize `thread_handle' field.
7379         (struct thread_item): Add field, thread_handle.
7380         (clear_threads_listing_context): Deallocate storage associated
7381         with thread handle.
7382         (start_thread): Add support for "handle" attribute.
7383         (thread_attributes): Add "handle".
7384         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7385         field.
7386         (remote_update_thread_list): Update thread_handle.
7387         (remote_thread_handle_to_thread_info): New function.
7388         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7390 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7392         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7393         function.
7394         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7395         * python/python-internal.h (thread_object_type): Declare.
7397 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7399         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7400         (target_thread_handle_to_thread_info): Declare.
7401         * target.c (target_thread_handle_to_thread_info): New function.
7402         * target-delegates.c: Regenerate.
7403         * gdbthread.h (find_thread_by_handle): Declare.
7404         * thread.c (find_thread_by_handle): New function.
7405         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7406         function.
7407         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7409 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7411         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7413 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7415         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7417 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7419         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7420         to gdb_target_obs.
7422 2017-09-20  Tom Tromey  <tom@tromey.com>
7424         * breakpoint.c (struct counted_command_line): Remove.
7425         (breakpoint_commands): Update.
7426         (alloc_counted_command_line, incref_counted_command_line)
7427         (decref_counted_command_line, do_cleanup_counted_command_line)
7428         (make_cleanup_decref_counted_command_line): Remove.
7429         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7430         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7431         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7432         (save_breakpoints): Update.
7433         * breakpoint.h (counted_command_line): Now a typedef to
7434         shared_ptr.
7435         (struct breakpoint) <commands>: Now a counted_command_line.
7436         (struct bpstats) <command>: Likewise.
7438 2017-09-20  Tom Tromey  <tom@tromey.com>
7440         * breakpoint.c (struct commands_info, do_map_commands_command):
7441         Remove.
7442         (commands_command_1): Update.
7443         (iterate_over_related_breakpoints): Take a function_view.
7444         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7445         (delete_command): Update.
7446         (map_breakpoint_numbers): Take a function_view.
7447         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7448         (disable_command): Update.
7449         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7450         (enable_command): Update.
7451         (struct disp_data, do_enable_breakpoint_disp)
7452         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7453         (do_map_enable_delete_breakpoint): Remove.
7454         (enable_once_command, enable_count_command, enable_delete_command)
7455         (delete_trace_variable_command): Update.
7457 2017-09-20  Tom Tromey  <tom@tromey.com>
7459         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7460         (bpstat_clear): Use delete.
7461         (bpstats): New constructors.
7462         (bpstat_copy, bpstat_stop_status): Use new.
7463         (dprintf_after_condition_true): Update.
7464         * breakpoint.h (bpstats::bpstats): Add constructors.
7465         (bpstats::~bpstats): Add destructor.
7467 2017-09-20  Pedro Alves  <palves@redhat.com>
7469         * eval.c (make_params): Delete, refactored as ...
7470         (class fake_method): ... this new type's ctor.
7471         (fake_method::~fake_method): New.
7472         (evaluate_subexp_standard): Use 'fake_method'.
7474 2017-09-20  Tom Tromey  <tom@tromey.com>
7476         * windows-nat.c (get_windows_debug_event, windows_wait)
7477         (do_initial_windows_stuff, windows_attach): Update.
7478         * utils.c (vwarning, internal_vproblem): Update.
7479         (ui_unregister_input_event_handler_cleanup)
7480         (prepare_to_handle_input): Remove.
7481         (class scoped_input_handler): New.
7482         (defaulted_query, prompt_for_continue): Update.
7483         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7484         Update.
7485         * top.c (undo_terminal_modifications_before_exit): Update.
7486         * target/target.h (target_terminal_init, target_terminal_inferior)
7487         (target_terminal_ours): Don't declare.
7488         (class target_terminal): New.
7489         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7490         (target_terminal_ours_for_output)
7491         (make_cleanup_restore_target_terminal): Don't declare.
7492         (target_terminal_info): Remove.
7493         * target.c (enum terminal_state, terminal_state): Remove.
7494         (target_terminal::terminal_state): Define.
7495         (target_terminal::init): Rename from target_terminal_init.
7496         (target_terminal::inferior): Rename from
7497         target_terminal_inferior.
7498         (target_terminal::ours): Rename from target_terminal_ours.
7499         (target_terminal::ours_for_output): Rename from
7500         target_terminal_ours_for_output.
7501         (target_terminal::info): New method.
7502         (cleanup_restore_target_terminal)
7503         (make_cleanup_restore_target_terminal): Remove.
7504         * solib.c (handle_solib_event): Update.
7505         * remote.c (remote_serial_quit_handler): Update.
7506         (remote_terminal_inferior, remote_wait_as): Update.
7507         * record-full.c (record_full_wait_1): Update.
7508         * nto-procfs.c (procfs_create_inferior): Update.
7509         * nat/fork-inferior.c (startup_inferior): Update.
7510         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7511         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7512         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7513         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7514         (mi_breakpoint_created, mi_breakpoint_deleted)
7515         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7516         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7517         (mi_user_selected_context_changed, report_initial_inferior):
7518         Update.
7519         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7520         (linux_nat_terminal_inferior): Update.
7521         * infrun.c (follow_fork_inferior)
7522         (handle_vfork_child_exec_or_exit, do_target_resume)
7523         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7524         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7525         Update.
7526         * inflow.c (child_terminal_init, info_terminal_command): Update.
7527         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7528         (attach_command): Update.
7529         * infcall.c (call_thread_fsm_should_stop): Update.
7530         * gnu-nat.c (gnu_attach): Update.
7531         * extension.c (struct active_ext_lang_state)
7532         (restore_active_ext_lang): Update.
7533         * exceptions.c (print_flush): Update.
7534         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7535         (struct quit_handler_cleanup_data, restore_quit_handler)
7536         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7537         Remove.
7538         * cp-support.c (gdb_demangle): Update.
7539         * breakpoint.c (update_inserted_breakpoint_locations)
7540         (insert_breakpoint_locations, handle_jit_event)
7541         (disable_breakpoints_in_unloaded_shlib): Update.
7542         * annotate.c (annotate_breakpoints_invalid)
7543         (annotate_frames_invalid): Update.
7545 2017-09-20  Tom Tromey  <tom@tromey.com>
7547         * main.c (catch_command_errors): Rename from
7548         catch_command_errors_const.
7549         (captured_main_1): Update.
7551 2017-09-20  Pedro Alves  <palves@redhat.com>
7553         * cli/cli-cmds.c (list_command): Use print_sal_location.
7554         (print_sal_location): New function.
7555         (ambiguous_line_spec): Use print_sal_location.
7556         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7557         * symtab.c (find_function_start_sal): Likewise.
7558         * symtab.h (symtab_and_line::symbol): New field.
7560 2017-09-20  Pedro Alves  <palves@redhat.com>
7562         * linespec.c (minsym_found): Handle non-text minsyms.
7563         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7565 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7567         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7568         backslash.
7570 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7572         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7573         vmovups instead vmovaps.
7574         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7576 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7578         * NEWS (Changes since GDB 8.0): Add starti.
7579         * infcmd.c (enum run_break): New.
7580         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7581         case.
7582         (run_command): Use enum run_how.
7583         (start_command): Likewise.
7584         (starti_command): New function.
7585         (RUN_ARGS_HELP): New macro.
7586         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7587         commands.  Add starti command.
7589 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7591         * Makefile.in (monitor.o): Remove the rule.
7593 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7595         * annotate.h (struct annotate_arg_emitter): Use
7596         DISABLE_COPY_AND_ASSIGN.
7597         * common/refcounted-object.h (refcounted_object): Likewise.
7598         * completer.h (struct completion_result): Likewise.
7599         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7600         * filename-seen-cache.h (filename_seen_cache): Likewise.
7601         * gdbcore.h (thread_section_name): Likewise.
7602         * gdb_regex.h (compiled_regex): Likewise.
7603         * gdbthread.h (scoped_restore_current_thread): Likewise.
7604         * inferior.h (scoped_restore_current_inferior): Likewise.
7605         * jit.c (jit_reader): Likewise.
7606         * linespec.h (struct linespec_result): Likewise.
7607         * mi/mi-parse.h (struct mi_parse): Likewise.
7608         * nat/fork-inferior.c (execv_argv): Likewise.
7609         * progspace.h (scoped_restore_current_program_space): Likewise.
7610         * python/python-internal.h (class gdbpy_enter): Likewise.
7611         * regcache.h (regcache): Likewise.
7612         * target-descriptions.c (struct tdesc_reg): Likewise.
7613         (struct tdesc_type): Likewise.
7614         (struct tdesc_feature): Likewise.
7615         * ui-out.h (ui_out_emit_type): Likewise.
7617 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7619         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7620         label abort_expression.
7622 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7624         * common/buffer.c (buffer_xml_printf): Adjust.
7625         * common/xml-utils.c (xml_escape_text): Change return type to
7626         std::string, update code accordingly.
7627         * common/xml-utils.h (xml_escape_text): Change return type to
7628         std::string.
7629         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7630         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7631         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7632         Adjust.
7634 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7636         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7637         (SUBDIR_UNITTESTS_OBS): Add new object file.
7638         * unittests/xml-utils-selftests.c: New file.
7640 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7642         * common/selftest.h (selftest): New struct/interface.
7643         (register_test): Add name parameter, add new overload.
7644         (run_tests): Add filter parameter.
7645         (for_each_selftest_ftype): New typedef.
7646         (for_each_selftest): New declaration.
7647         * common/selftest.c (tests): Change type to
7648         map<string, unique_ptr<selftest>>.
7649         (simple_selftest): New struct.
7650         (register_test): New function.
7651         (register_test): Add name parameter and use it.
7652         (run_tests): Add filter parameter and use it.  Add prints.
7653         Adjust to vector -> map change.
7654         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7655         registering selftests.
7656         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7657         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7658         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7659         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7660         * findvar.c (_initialize_findvar): Likewise.
7661         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7662         * maint.c (maintenance_selftest): Update call to run_tests.
7663         (maintenance_info_selftests): New function.
7664         (_initialize_maint_cmds): Register "maintenance info selftests"
7665         command.  Update "maintenance selftest" doc.
7666         * regcache.c (_initialize_regcache): Add names when registering
7667         selftests.
7668         * rust-exp.y (_initialize_rust_exp): Likewise.
7669         * selftest-arch.c (gdbarch_selftest): New struct.
7670         (gdbarch_tests): Remove.
7671         (register_test_foreach_arch): Add name parameter.  Call
7672         register_test.
7673         (tests_with_arch): Remove, move most content to
7674         gdbarch_selftest::operator().
7675         (_initialize_selftests_foreach_arch): Remove.
7676         * selftest-arch.h (register_test_foreach_arch): Add name
7677         parameter.
7678         (run_tests_with_arch): New declaration.
7679         * utils-selftests.c (_initialize_utils_selftests): Add names
7680         when registering selftests.
7681         * utils.c (_initialize_utils): Likewise.
7682         * unittests/array-view-selftests.c
7683         (_initialize_array_view_selftests): Likewise.
7684         * unittests/environ-selftests.c (_initialize_environ_selftests):
7685         Likewise.
7686         * unittests/function-view-selftests.c
7687         (_initialize_function_view_selftests): Likewise.
7688         * unittests/offset-type-selftests.c
7689         (_initialize_offset_type_selftests): Likewise.
7690         * unittests/optional-selftests.c
7691         (_initialize_optional_selftests): Likewise.
7692         * unittests/scoped_restore-selftests.c
7693         (_initialize_scoped_restore_selftests): Likewise.
7694         * NEWS: Document "maintenance selftest" and "maint info
7695         selftests".
7697 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7699         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7700         scoped_restore.
7702 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7704         * mi/mi-main.c (mi_load_progress): Make uiout variable
7705         a unique_ptr.
7707 2017-09-15  Pedro Alves  <palves@redhat.com>
7709         * compile/compile-c-types.c (convert_enum, convert_int)
7710         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7712 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7714         * dwarf2read.c (copy_string): Remove.
7715         (parse_macro_definition): Replace copy_string with savestring.
7717 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7719         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7720         gdb_target_obs.
7721         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7722         Likewise.
7723         (i[34567]86-*-linux*): Likewise.
7725 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7727         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7728         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7729         <stack>: Change type to std::vector.
7730         <stack_len, stack_allocated>: Remove.
7731         <grow_stack>: Remove.
7732         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7733         (dwarf_expr_context::~dwarf_expr_context): Remove.
7734         (dwarf_expr_context::grow_stack): Remove.
7735         (dwarf_expr_context::push): Adjust.
7736         (dwarf_expr_context::pop): Adjust.
7737         (dwarf_expr_context::fetch): Adjust.
7738         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7739         (dwarf_expr_context::stack_empty_p): Adjust.
7740         (dwarf_expr_context::execute_stack_op): Adjust.
7742 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7744         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7745         return type to bool.
7746         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7748 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7750         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7751         Change type to bool.
7752         (dwarf_stack_value) <in_stack_memory>: Likewise.
7753         (dwarf_expr_context) <push_address>: Change parameter type to
7754         bool.
7755         <fetch_in_stack_memory>: Change return type to bool.
7756         <push>: Change parameter type to bool.
7757         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7758         to bool.
7759         (dwarf_expr_context::push_address): Likewise.
7760         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7761         to bool.
7762         (dwarf_expr_context::execute_stack_op): Adjust.
7763         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7765 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7767         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7768         (struct dwarf_expr_context) <n_pieces>: Remove.
7769         <pieces>: Change type to std::vector.
7770         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7771         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7772         pieces.
7773         (dwarf_expr_context::add_piece): Adjust.
7774         * dwarf2loc.c (struct piece_closure): Initialize fields.
7775         <n_pieces>: Remove.
7776         <pieces>: Change type to std::vector.
7777         (allocate_piece_closure): Adjust, change parameter to
7778         std::vector rvalue and std::move it to piece_closure.
7779         (rw_pieced_value): Adjust.
7780         (check_pieced_synthetic_pointer): Adjust.
7781         (indirect_synthetic_pointer): Adjust.
7782         (coerce_pieced_ref): Adjust.
7783         (free_pieced_value_closure):  Adjust.  Use delete to free
7784         piece_closure.
7785         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7786         to allocate_piece_closure.
7787         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7789 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7791         * probe.h (probe_ops_cp): Remove typedef.
7792         (DEF_VEC_P (probe_ops_cp)): Remove.
7793         (all_probe_ops): Change type to std::vector.
7794         * probe.c (info_probes_for_ops): Adjust to vector change.
7795         (probe_linespec_to_ops): Likewise.
7796         (all_probe_ops): Change type to std::vector.
7797         (_initialize_probe): Adjust to vector change.
7798         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7799         * elfread.c (elf_get_probes): Likewise.
7800         * stap-probe.c (_initialize_stap_probe): Likewise.
7802 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7804         * probe.h (struct bound_probe): Define constructors.
7805         * probe.c (bound_probe_s): Remove typedef.
7806         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7807         (collect_probes): Change return type to std::vector, remove
7808         cleanup.
7809         (compare_probes): Return bool, change parameter type.  Change
7810         semantic to "less than".
7811         (gen_ui_out_table_header_info): Change parameter to std::vector
7812         and update.
7813         (exists_probe_with_pops): Likewise.
7814         (info_probes_for_ops): Update to std::vector change.
7815         (enable_probes_command): Likewise.
7816         (disable_probes_command): Likewise.
7818 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7820         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7821         vec to std::vector.
7822         * probe.c (parse_probes_in_pspace): Update.
7823         (find_probes_in_objfile): Update.
7824         (find_probe_by_pc): Update.
7825         (collect_probes): Update.
7826         (probe_any_get_probes): Update.
7827         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7828         return type to reference to std::vector.
7829         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7830         std::vector and update.
7831         (dtrace_process_dof): Likewise.
7832         (dtrace_get_probes): Likewise.
7833         * elfread.c (elf_get_probes): Change return type to std::vector,
7834         store an std::vector in bfd_data.
7835         (probe_key_free): Update to std::vector.
7836         * stap-probe.c (handle_stap_probe): Change parameter to
7837         std::vector and update.
7838         (stap_get_probes): Likewise.
7839         * symfile-debug.c (debug_sym_get_probes): Change return type to
7840         std::vector and update.
7842 2017-09-11  Tom Tromey  <tom@tromey.com>
7844         * breakpoint.c (program_breakpoint_here_p): Update.
7845         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7846         from make_show_memory_breakpoints_cleanup.  Return a
7847         scoped_restore_tmpl<int>.
7848         (restore_show_memory_breakpoints): Remove.
7849         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7850         * mem-break.c (memory_validate_breakpoint): Update.
7851         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7852         (ia64_memory_remove_breakpoint): Update.
7853         (ia64_breakpoint_from_pc): Update.
7854         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7855         from make_show_memory_breakpoints_cleanup.
7857 2017-09-11  Tom Tromey  <tom@tromey.com>
7859         * d-namespace.c (d_lookup_symbol): Use std::string.
7860         (find_symbol_in_baseclass): Likewise.
7862 2017-09-11  Tom Tromey  <tom@tromey.com>
7864         * ctf.c (ctf_start): Use std::string.
7866 2017-09-11  Tom Tromey  <tom@tromey.com>
7868         * ada-lang.c (is_known_support_routine): Update.
7869         (ada_unhandled_exception_name_addr_from_raise): Update.
7870         * guile/scm-frame.c (gdbscm_frame_name): Update.
7871         * python/py-frame.c (frapy_name): Update.
7872         (frapy_function): Update.
7873         * stack.h (find_frame_funname): Update.
7874         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7875         (print_frame): Update.
7877 2017-09-11  Tom Tromey  <tom@tromey.com>
7879         * findcmd.c (put_bits): Take a gdb::byte_vector.
7880         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7881         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7882         cleanups.
7883         (find_command): Update.
7885 2017-09-11  Tom Tromey  <tom@tromey.com>
7887         * cli/cli-script.c (class scoped_restore_hook_in): New.
7888         (clear_hook_in_cleanup): Remove.
7889         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7890         scoped_restore_hook_in.
7892 2017-09-11  Tom Tromey  <tom@tromey.com>
7894         * cli/cli-script.c (restore_interp): Remove.
7895         (read_command_lines): Use scoped_restore_interp.
7896         * interps.c (scoped_restore_interp::set_temp): Rename from
7897         interp_set_temp.
7898         * interps.h (class scoped_restore_interp): New.
7899         (interp_set_temp): Remove.
7901 2017-09-11  Tom Tromey  <tom@tromey.com>
7903         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7904         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7905         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7906         scoped_restore.
7907         (mi_cmd_break_insert_1): Update.
7908         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7909         scoped_restore.
7911 2017-09-11  Tom Tromey  <tom@tromey.com>
7913         * demangle.c (demangle_command): Update.
7914         * breakpoint.c (disable_command): Update.
7915         (enable_command): Update.
7916         (find_location_by_number): Make "number" const.  Use
7917         get_number_trailer.
7918         * cli/cli-utils.c (extract_arg): Return std::string.
7919         * probe.c (parse_probe_linespec): Update.  Change types.
7920         (collect_probes): Take string arguments.
7921         (parse_probe_linespec): Likewise.
7922         (info_probes_for_ops): Update.
7923         (enable_probes_command): Update.
7924         (disable_probes_command): Update.
7925         * break-catch-sig.c (catch_signal_split_args): Update.
7926         * mi/mi-parse.c (mi_parse): Update.
7928 2017-09-11  Tom Tromey  <tom@tromey.com>
7930         * language.h (language_enum): Make argument const.
7931         * language.c (language_enum): Make argument const.
7933 2017-09-11  Tom Tromey  <tom@tromey.com>
7935         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7936         as function.
7937         (skip_to_space): Rename from skip_to_space_const.
7938         * common/common-utils.c (skip_to_space): New function.
7939         (skip_to_space): Rename from skip_to_space_const.
7940         * cli/cli-utils.h (get_number): Rename from get_number_const.
7941         (extract_arg): Rename from extract_arg_const.
7942         * cli/cli-utils.c (get_number): Rename from get_number_const.
7943         (extract_arg): Rename from extract_arg_const.
7944         (number_or_range_parser::get_number): Use ::get_number.
7945         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7946         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7947         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7948         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7949         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7950         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7951         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7952         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7954 2017-09-11  Tom Tromey  <tom@tromey.com>
7956         * python/python.c (do_start_initialization): Use
7957         py-event-types.def to initialize types.
7958         Define all object type structures.
7959         * python/python-internal.h: Don't declare event initialization
7960         functions.
7961         * python/py-threadevent.c (thread_event_object_type): Don't
7962         define.
7963         * python/py-stopevent.c (stop_event_object_type): Don't define.
7964         * python/py-signalevent.c (signal_event_object_type): Don't
7965         declare or define.
7966         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7967         (clear_objfiles_event_object_type): Don't declare or define.
7968         * python/py-infevents.c (inferior_call_pre_event_object_type)
7969         (inferior_call_post_event_object_type)
7970         (register_changed_event_object_type)
7971         (memory_changed_event_object_type): Don't declare or define.
7972         * python/py-inferior.c (new_thread_event_object_type)
7973         (new_inferior_event_object_type)
7974         (inferior_deleted_event_object_type): Don't declare or define.
7975         * python/py-exitedevent.c (exited_event_object_type): Don't
7976         declare or define.
7977         * python/py-evts.c (gdbpy_initialize_py_events): Use
7978         py-all-events.def.
7979         * python/py-events.h (thread_event_object_type): Don't declare.
7980         (events_object): Use py-all-events.def.
7981         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7982         py-event-types.def.
7983         * python/py-event-types.def: New file.
7984         * python/py-continueevent.c (create_continue_event_object): Don't
7985         declare or define.
7986         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7987         declare or define.
7988         * python/py-all-events.def: New file.
7990 2017-09-11  Tom Tromey  <tom@tromey.com>
7992         * python/py-threadevent.c (create_thread_event_object): Return
7993         gdbpy_ref.
7994         * python/py-stopevent.h (create_stop_event_object)
7995         (create_breakpoint_event_object, create_signal_event_object):
7996         Update.
7997         * python/py-stopevent.c (create_stop_event_object): Return
7998         gdbpy_ref.
7999         (emit_stop_event): Update.
8000         * python/py-signalevent.c (create_signal_event_object): Return
8001         gdbpy_ref.
8002         * python/py-infevents.c (create_inferior_call_event_object):
8003         Update.
8004         * python/py-event.h (create_event_object)
8005         (create_thread_event_object): Update.
8006         * python/py-event.c (create_event_object): Return gdbpy_ref.
8007         * python/py-continueevent.c: Return gdbpy_ref.
8008         * python/py-bpevent.c (create_breakpoint_event_object): Return
8009         gdbpy_ref.
8011 2017-09-11  Tom Tromey  <tom@tromey.com>
8013         PR python/15622:
8014         * NEWS: Add entry.
8015         * python/python.c (do_start_initialization): Initialize new event
8016         types.
8017         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
8018         (gdbpy_initialize_inferior_deleted_event)
8019         (gdbpy_initialize_new_thread_event): Declare.
8020         * python/py-threadevent.c (create_thread_event_object): Add option
8021         "thread" parameter.
8022         * python/py-inferior.c (new_thread_event_object_type)
8023         (new_inferior_event_object_type)
8024         (inferior_deleted_event_object_type): Declare.
8025         (python_new_inferior, python_inferior_deleted): New functions.
8026         (add_thread_object): Emit new_thread event.
8027         (gdbpy_initialize_inferior): Attach new functions to corresponding
8028         observers.
8029         (new_thread, new_inferior, inferior_deleted): Define new event
8030         types.
8031         * python/py-evts.c (gdbpy_initialize_py_events): Add new
8032         registries.
8033         * python/py-events.h (events_object) <new_inferior,
8034         inferior_deleted, new_thread>: New fields.
8035         * python/py-event.h (create_thread_event_breakpoint): Add optional
8036         "thread" parameter.
8038 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
8040         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
8041         check current_ui instead.
8042         (internal_vproblem): Likewise.
8044 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
8046         * thread.c (print_thread_info_1): Remove unnecessary calls to
8047         uiout->is_mi_like_p.
8049 2017-09-09  Tom Tromey  <tom@tromey.com>
8051         * namespace.h (add_using_directive): Update.
8052         * namespace.c (add_using_directive): Change type of excludes to
8053         std::vector.
8054         * dwarf2read.c (read_import_statement): Use std::vector.
8055         (read_namespace): Update.
8056         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
8058 2017-09-09  Tom Tromey  <tom@tromey.com>
8060         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
8062 2017-09-09  Tom Tromey  <tom@tromey.com>
8064         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
8066 2017-09-09  Tom Tromey  <tom@tromey.com>
8068         * stack.c (func_command): Use gdb::def_vector.
8070 2017-09-09  Tom Tromey  <tom@tromey.com>
8072         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
8073         ui_out_emit_list, ui_out_emit_tuple.
8074         (mi_cmd_var_update): Likewise.
8076 2017-09-09  Tom Tromey  <tom@tromey.com>
8078         * mi/mi-interp.c (mi_user_selected_context_changed): Use
8079         ui_out_redirect_pop.
8080         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
8081         ui_out_redirect_pop.
8082         * utils.c (do_ui_out_redirect_pop)
8083         (make_cleanup_ui_out_redirect_pop): Remove.
8084         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
8085         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
8086         * ui-out.h (ui_out_redirect_pop): New class.
8088 2017-09-09  Tom Tromey  <tom@tromey.com>
8090         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
8091         (list_available_thread_groups, mi_cmd_list_thread_groups)
8092         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
8093         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
8094         Likewise.
8096 2017-09-09  Tom Tromey  <tom@tromey.com>
8098         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
8099         ui_out_emit_tuple.
8101 2017-09-09  Tom Tromey  <tom@tromey.com>
8103         * target.c (flash_erase_command): Use ui_out_emit_tuple.
8104         * stack.c (print_frame): Use ui_out_emit_tuple.
8105         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
8106         (info_spu_mailbox_command, info_spu_dma_command)
8107         (info_spu_proxydma_command): Likewise.
8108         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
8109         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
8110         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
8111         ui_out_emit_tuple.
8112         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
8114 2017-09-09  Tom Tromey  <tom@tromey.com>
8116         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
8117         (class ui_out_emit_table): Update comment.
8118         * ui-out.c (do_cleanup_table_end)
8119         (make_cleanup_ui_out_table_begin_end): Remove.
8120         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
8121         (info_spu_dma_cmdlist): Likewise.
8122         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
8123         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
8124         ui_out_emit_table.
8126 2017-09-09  Tom Tromey  <tom@tromey.com>
8128         * thread.c (print_thread_info_1): Use ui_out_emit_table,
8129         ui_out_emit_list, gdb::optional.
8131 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
8133         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
8134         prototype.
8135         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
8136         prototype.
8137         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
8138         prototype.
8139         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
8140         * ada-exp.y: Remove _initialize_ada_exp prototype.
8141         * ada-lang.c: Remove _initialize_ada_language prototype.
8142         * ada-tasks.c: Remove _initialize_tasks prototype.
8143         * addrmap.c: Remove _initialize_addrmap prototype.
8144         * agent.c: Remove _initialize_agent prototype.
8145         * aix-thread.c: Remove _initialize_aix_thread prototype.
8146         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
8147         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
8148         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
8149         prototype.
8150         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
8151         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
8152         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
8153         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
8154         prototype.
8155         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
8156         prototype.
8157         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
8158         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
8159         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
8160         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
8161         prototype.
8162         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
8163         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
8164         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
8165         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
8166         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8167         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
8168         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
8169         prototype.
8170         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
8171         prototype.
8172         * annotate.c: Remove _initialize_annotate prototype.
8173         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
8174         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
8175         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
8176         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
8177         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
8178         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
8179         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
8180         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
8181         prototype.
8182         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
8183         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
8184         * auto-load.c: Remove _initialize_auto_load prototype.
8185         * auxv.c: Remove _initialize_auxv prototype.
8186         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
8187         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
8188         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
8189         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
8190         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
8191         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
8192         prototype.
8193         * break-catch-throw.c: Remove _initialize_break_catch_throw
8194         prototype.
8195         * breakpoint.c: Remove _initialize_breakpoint prototype.
8196         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
8197         * btrace.c: Remove _initialize_btrace prototype.
8198         * charset.c: Remove _initialize_charset prototype.
8199         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
8200         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
8201         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
8202         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
8203         * cli/cli-script.c: Remove _initialize_cli_script prototype.
8204         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
8205         * coffread.c: Remove _initialize_coffread prototype.
8206         * compile/compile.c: Remove _initialize_compile prototype.
8207         * complaints.c: Remove _initialize_complaints prototype.
8208         * completer.c: Remove _initialize_completer prototype.
8209         * copying.awk: Remove _initialize_copying prototype.
8210         * copying.c: Regenerate.
8211         * core-regset.c: Remove _initialize_core_regset prototype.
8212         * corefile.c: Remove _initialize_core prototype.
8213         * corelow.c: Remove _initialize_corelow prototype.
8214         * cp-abi.c: Remove _initialize_cp_abi prototype.
8215         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
8216         * cp-support.c: Remove _initialize_cp_support prototype.
8217         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
8218         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
8219         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
8220         * ctf.c: Remove _initialize_ctf prototype.
8221         * d-lang.c: Remove _initialize_d_language prototype.
8222         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
8223         prototype.
8224         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
8225         * dbxread.c: Remove _initialize_dbxread prototype.
8226         * dcache.c: Remove _initialize_dcache prototype.
8227         * demangle.c: Remove _initialize_demangler prototype.
8228         * disasm-selftests.c: Remove _initialize_disasm_selftests
8229         prototype.
8230         * disasm.c: Remove _initialize_disasm prototype.
8231         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
8232         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
8233         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
8234         prototype.
8235         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
8236         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
8237         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
8238         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
8239         * elfread.c: Remove _initialize_elfread prototype.
8240         * exec.c: Remove _initialize_exec prototype.
8241         * extension.c: Remove _initialize_extension prototype.
8242         * f-lang.c: Remove _initialize_f_language prototype.
8243         * f-valprint.c: Remove _initialize_f_valprint prototype.
8244         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
8245         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
8246         * filesystem.c: Remove _initialize_filesystem prototype.
8247         * findcmd.c: Remove _initialize_mem_search prototype.
8248         * fork-child.c: Remove _initialize_fork_child prototype.
8249         * frame-base.c: Remove _initialize_frame_base prototype.
8250         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
8251         * frame.c: Remove _initialize_frame prototype.
8252         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
8253         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
8254         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
8255         * gcore.c: Remove _initialize_gcore prototype.
8256         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
8257         * gdbarch.c: Regenerate.
8258         * gdbarch.sh: Remove _initialize_gdbarch prototype.
8259         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
8260         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
8261         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
8262         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
8263         * go-lang.c: Remove _initialize_go_language prototype.
8264         * go32-nat.c: Remove _initialize_go32_nat prototype.
8265         * guile/guile.c: Remove _initialize_guile prototype.
8266         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
8267         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
8268         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
8269         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
8270         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
8271         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
8272         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
8273         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
8274         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
8275         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
8276         prototype.
8277         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
8278         prototype.
8279         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
8280         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
8281         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
8282         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
8283         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
8284         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
8285         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
8286         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
8287         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
8288         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
8289         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
8290         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
8291         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
8292         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8293         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
8294         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
8295         prototype.
8296         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
8297         prototype.
8298         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
8299         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
8300         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
8301         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
8302         * infcall.c: Remove _initialize_infcall prototype.
8303         * infcmd.c: Remove _initialize_infcmd prototype.
8304         * inferior.c: Remove _initialize_inferiors prototype.
8305         * inflow.c: Remove _initialize_inflow prototype.
8306         * infrun.c: Remove _initialize_infrun prototype.
8307         * interps.c: Remove _initialize_interpreter prototype.
8308         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
8309         * jit.c: Remove _initialize_jit prototype.
8310         * language.c: Remove _initialize_language prototype.
8311         * linux-fork.c: Remove _initialize_linux_fork prototype.
8312         * linux-nat.c: Remove _initialize_linux_nat prototype.
8313         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
8314         * linux-thread-db.c: Remove _initialize_thread_db prototype.
8315         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
8316         * m2-lang.c: Remove _initialize_m2_language prototype.
8317         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
8318         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
8319         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
8320         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
8321         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
8322         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8323         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8324         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
8325         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
8326         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
8327         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8328         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8329         * machoread.c: Remove _initialize_machoread prototype.
8330         * macrocmd.c: Remove _initialize_macrocmd prototype.
8331         * macroscope.c: Remove _initialize_macroscope prototype.
8332         * maint.c: Remove _initialize_maint_cmds prototype.
8333         * mdebugread.c: Remove _initialize_mdebugread prototype.
8334         * memattr.c: Remove _initialize_mem prototype.
8335         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
8336         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
8337         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
8338         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
8339         * mi/mi-main.c: Remove _initialize_mi_main prototype.
8340         * microblaze-linux-tdep.c: Remove
8341         _initialize_microblaze_linux_tdep prototype.
8342         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
8343         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
8344         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
8345         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
8346         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
8347         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
8348         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
8349         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
8350         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
8351         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
8352         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
8353         prototype.
8354         * mipsread.c: Remove _initialize_mipsread prototype.
8355         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8356         prototype.
8357         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8358         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8359         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8360         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8361         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8362         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8363         prototype.
8364         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8365         * nto-procfs.c: Remove _initialize_procfs prototype.
8366         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8367         * objc-lang.c: Remove _initialize_objc_language prototype.
8368         * objfiles.c: Remove _initialize_objfiles prototype.
8369         * observer.c: Remove observer_test_first_notification_function,
8370         observer_test_second_notification_function,
8371         observer_test_third_notification_function, and
8372         _initialize_observer prototypes.
8373         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8374         * osabi.c: Remove _initialize_gdb_osabi prototype.
8375         * osdata.c: Remove _initialize_osdata prototype.
8376         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8377         * parse.c: Remove _initialize_parse prototype.
8378         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8379         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8380         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8381         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8382         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8383         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8384         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8385         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8386         * printcmd.c: Remove _initialize_printcmd prototype.
8387         * probe.c: Remove _initialize_probe prototype.
8388         * proc-api.c: Remove _initialize_proc_api prototype.
8389         * proc-events.c: Remove _initialize_proc_events prototype.
8390         * proc-service.c: Remove _initialize_proc_service prototype.
8391         * procfs.c: Remove _initialize_procfs prototype.
8392         * psymtab.c: Remove _initialize_psymtab prototype.
8393         * python/python.c: Remove _initialize_python prototype.
8394         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8395         * record-btrace.c: Remove _initialize_record_btrace prototype.
8396         * record-full.c: Remove _initialize_record_full prototype.
8397         * record.c: Remove _initialize_record prototype.
8398         * regcache.c: Remove _initialize_regcache prototype.
8399         * reggroups.c: Remove _initialize_reggroup prototype.
8400         * remote-notif.c: Remove _initialize_notif prototype.
8401         * remote-sim.c: Remove _initialize_remote_sim prototype.
8402         * remote.c: Remove _initialize_remote prototype.
8403         * reverse.c: Remove _initialize_reverse prototype.
8404         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8405         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8406         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8407         prototype.
8408         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8409         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8410         * rust-exp.y: Remove _initialize_rust_exp prototype.
8411         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8412         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8413         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8414         * score-tdep.c: Remove _initialize_score_tdep prototype.
8415         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8416         prototype.
8417         * ser-go32.c: Remove _initialize_ser_dos prototype.
8418         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8419         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8420         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8421         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8422         * serial.c: Remove _initialize_serial prototype.
8423         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8424         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8425         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8426         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8427         * skip.c: Remove _initialize_step_skip prototype.
8428         * sol-thread.c: Remove _initialize_sol_thread prototype.
8429         * solib-aix.c: Remove _initialize_solib_aix prototype.
8430         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8431         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8432         * solib-frv.c: Remove _initialize_frv_solib prototype.
8433         * solib-spu.c: Remove _initialize_spu_solib prototype.
8434         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8435         * solib-target.c: Remove _initialize_solib_target prototype.
8436         * solib.c: Remove _initialize_solib prototype.
8437         * source.c: Remove _initialize_source prototype.
8438         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8439         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8440         prototype.
8441         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8442         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8443         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8444         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8445         prototype.
8446         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8447         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8448         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8449         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8450         prototype.
8451         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8452         prototype.
8453         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8454         prototype.
8455         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8456         prototype.
8457         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8458         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8459         prototype.
8460         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8461         prototype.
8462         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8463         prototype.
8464         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8465         prototype.
8466         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8467         prototype.
8468         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8469         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8470         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8471         * stabsread.c: Remove _initialize_stabsread prototype.
8472         * stack.c: Remove _initialize_stack prototype.
8473         * stap-probe.c: Remove _initialize_stap_probe prototype.
8474         * std-regs.c: Remove _initialize_frame_reg prototype.
8475         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8476         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8477         * symfile.c: Remove _initialize_symfile prototype.
8478         * symmisc.c: Remove _initialize_symmisc prototype.
8479         * symtab.c: Remove _initialize_symtab prototype.
8480         * target-dcache.c: Remove _initialize_target_dcache prototype.
8481         * target-descriptions.c: Remove _initialize_target_descriptions
8482         prototype.
8483         * thread.c: Remove _initialize_thread prototype.
8484         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8485         prototype.
8486         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8487         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8488         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8489         prototype.
8490         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8491         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8492         * tracefile.c: Remove _initialize_tracefile prototype.
8493         * tracepoint.c: Remove _initialize_tracepoint prototype.
8494         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8495         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8496         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8497         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8498         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8499         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8500         * tui/tui.c: Remove _initialize_tui prototype.
8501         * typeprint.c: Remove _initialize_typeprint prototype.
8502         * user-regs.c: Remove _initialize_user_regs prototype.
8503         * utils.c: Remove _initialize_utils prototype.
8504         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8505         * valarith.c: Remove _initialize_valarith prototype.
8506         * valops.c: Remove _initialize_valops prototype.
8507         * valprint.c: Remove _initialize_valprint prototype.
8508         * value.c: Remove _initialize_values prototype.
8509         * varobj.c: Remove _initialize_varobj prototype.
8510         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8511         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8512         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8513         * windows-nat.c: Remove _initialize_windows_nat,
8514         _initialize_check_for_gdb_ini, and _initialize_loadable
8515         prototypes.
8516         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8517         * xcoffread.c: Remove _initialize_xcoffread prototype.
8518         * xml-support.c: Remove _initialize_xml_support prototype.
8519         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8520         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8521         prototype.
8522         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8523         prototype.
8524         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8526 2017-09-08  Keith Seitz  <keiths@redhat.com>
8528         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8529         field.
8531 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8533         * f-valprint.c (f_val_print): Remove check for one byte
8534         sized integers. Remove printing of character type.
8536 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8537             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8538             Bernhard Heckel  <bernhard.heckel@intel.com>
8540         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8541         to maintain proper indentation when printing pointers/refs.
8543 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8545         GDB 8.0.1 released.
8547 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8549         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8551 2017-09-05  Tom Tromey  <tom@tromey.com>
8553         * parse.c (funcall_chain): Now a std::vector.
8554         (start_arglist, end_arglist): Simplify.
8555         (free_funcalls): Remove.
8556         (parse_exp_in_context_1): Remove cleanup.
8558 2017-09-05  Tom Tromey  <tom@tromey.com>
8560         * go-exp.y (go_parse): Don't create a cleanup.
8562 2017-09-05  Tom Tromey  <tom@tromey.com>
8564         * d-exp.y (PrimaryExpression): Use std::string.
8565         (d_parse): Don't create a cleanup.
8567 2017-09-05  Tom Tromey  <tom@tromey.com>
8569         * utils.c (do_clear_parser_state): Remove.
8570         (make_cleanup_clear_parser_state): Remove.
8571         * p-exp.y (pascal_parse): Use scoped_restore.
8572         * m2-exp.y (m2_parse): Use scoped_restore.
8573         * f-exp.y (f_parse): Use scoped_restore.
8574         * d-exp.y (d_parse): Use scoped_restore.
8575         * c-exp.y (c_parse): Use scoped_restore.
8576         * ada-exp.y (ada_parse): Use scoped_restore.
8577         * utils.h (make_cleanup_clear_parser_state): Remove.
8579 2017-09-06  Keith Seitz  <keiths@redhat.com>
8581         * dwarf2read.c (dw2_linkage_name_attr): New function.
8582         (dw2_linkage_name): New function.
8583         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8584         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8585         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8587 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8589         * config/djgpp/djconfig.sh: Correct shell portability issue.
8591 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8593         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8595 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8597         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8598         * NEWS: Mention new FreeBSD/mips native configuration.
8599         * configure.host: Add aarch64*-*-freebsd*.
8600         * configure.nat: Likewise.
8601         * aarch64-fbsd-nat.c: New file.
8603 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8605         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8606         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8607         * NEWS: Mention new FreeBSD/aarch64 target.
8608         * configure.tgt: Add aarch64*-*-freebsd*.
8609         * aarch64-fbsd-tdep.c: New file.
8610         * aarch64-fbsd-tdep.h: New file.
8612 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8614         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8616 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8618         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8619         of TLS symbols.
8621 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8623         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8624         call.
8626 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8628         * infrun.c (follow_exec): Call add_thread after
8629         target_find_description.
8631 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8633         * infrun.c (handle_inferior_event_1): When exec'ing, read
8634         stop_pc after follow_exec.
8636 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8638         * remote.c (process_g_packet): Update error message.
8640 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8642         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8643         targets.
8645 2017-09-05  Pedro Alves  <palves@redhat.com>
8647         * eval.c (eval_call, evaluate_funcall): New functions, factored
8648         out from ...
8649         (evaluate_subexp_standard): ... this.
8651 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8653         * amd64-tdep.c (amd64_target_description): Create target
8654         descriptions.
8655         (_initialize_amd64_tdep): Don't call functions
8656         initialize_tdesc_amd64_*.  Add self tests.
8657         * arch/amd64.c (amd64_create_target_description): Add parameter
8658         is_linux.  Call set_tdesc_osabi if is_linux is true.
8659         * arch/amd64.h (amd64_create_target_description): Update the
8660         declaration.
8661         * arch/i386.c (i386_create_target_description): Add parameter
8662         is_linux.  Call set_tdesc_osabi if is_linux is true.
8663         * arch/i386.h (i386_create_target_description): Update
8664         declaration.
8665         * configure.tgt: Add i386.o to gdb_target_obs.
8666         * features/Makefile (XMLTOC): Remove i386/*.xml.
8667         * features/i386/amd64-avx-avx512.c: Remove.
8668         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8669         * features/i386/amd64-avx-mpx.c: Remove.
8670         * features/i386/amd64-avx.c: Remove.
8671         * features/i386/amd64-mpx.c: Remove.
8672         * features/i386/amd64.c: Remove.
8673         * features/i386/i386-avx-avx512.c: Remove.
8674         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8675         * features/i386/i386-avx-mpx.c: Remove.
8676         * features/i386/i386-avx.c: Remove.
8677         * features/i386/i386-mmx.c: Remove.
8678         * features/i386/i386-mpx.c: Remove.
8679         * features/i386/i386.c: Remove.
8680         * i386-tdep.c: Don't include features/i386/i386*.c., include
8681         target-descriptions.h and arch/i386.h.
8682         (i386_target_description): Create target descriptions.
8683         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8684         functions.  Do self tests.
8686 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8688         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8689         * features/i386/amd64-avx-avx512-linux.c: Removed.
8690         * features/i386/amd64-avx-linux.c: Removed.
8691         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8692         * features/i386/amd64-avx-mpx-linux.c: Removed.
8693         * features/i386/amd64-linux.c: Removed.
8694         * features/i386/amd64-mpx-linux.c: Removed.
8695         * features/i386/x32-avx-avx512-linux.c: Removed.
8696         * features/i386/x32-avx-linux.c: Removed.
8697         * features/i386/x32-linux.c: Removed.
8699 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8701         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8702         features/i386/*.c.
8703         (amd64_linux_read_description): Call
8704         amd64_create_target_description.
8705         * arch/amd64.c: New file.
8706         * arch/amd64.h: New file.
8707         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8708         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8710 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8712         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8713         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8714         (amd64_linux_read_description): Create target descriptions.
8715         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8716         functions.  Add unit tests.
8717         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8718         x32-core.xml.
8719         * features/i386/64bit-avx.c: Generated.
8720         * features/i386/64bit-avx512.c: Generated.
8721         * features/i386/64bit-core.c: Generated.
8722         * features/i386/64bit-linux.c: Generated.
8723         * features/i386/64bit-mpx.c: Generated.
8724         * features/i386/64bit-pkeys.c: Generated.
8725         * features/i386/64bit-segments.c: Generated.
8726         * features/i386/64bit-sse.c: Generated.
8727         * features/i386/x32-core.c: Generated.
8728         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8729         c files for amd64-linux and x32-linux.
8731 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8733         * amd64-linux-tdep.c (amd64_linux_read_description): New
8734         function.
8735         (amd64_linux_core_read_description): Call
8736         amd64_linux_read_description.
8737         (amd64_linux_init_abi): Likewise.
8738         (amd64_x32_linux_init_abi): Likewise.
8739         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8740         * x86-linux-nat.c (x86_linux_read_description): Call
8741         amd64_linux_read_description.
8743 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8745         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8746         comments.
8748 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8750         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8751         * features/i386/i386-avx-avx512-linux.c: Remove.
8752         * features/i386/i386-avx-linux.c: Remove.
8753         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8754         * features/i386/i386-avx-mpx-linux.c: Remove.
8755         * features/i386/i386-linux.c: Remove.
8756         * features/i386/i386-mmx-linux.c: Remove.
8757         * features/i386/i386-mpx-linux.c: Remove.
8759 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8761         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8762         (SFILES): Add arch/i386.c.
8763         (HFILES_NO_SRCDIR): Add arch/i386.h.
8764         * arch/i386.c: New file.
8765         * arch/i386.h: New file.
8766         * arch/tdesc.h (allocate_target_description): Declare.
8767         (set_tdesc_architecture): Declare.
8768         (set_tdesc_osabi): Declare.
8769         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8770         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8771         include arch/i386.h.
8772         (i386_linux_read_description): Remove code and call
8773         i386_create_target_description.
8774         (set_tdesc_architecture): New function.
8775         (set_tdesc_osabi): New function.
8776         * target-descriptions.h (allocate_target_description): Remove.
8778 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8780         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8781         * target-descriptions.c (tdesc_create_feature): Likewise, and
8782         adjust code.
8783         * features/i386/32bit-avx.c: Re-generated.
8784         * features/i386/32bit-avx512.c: Re-generated.
8785         * features/i386/32bit-core.c: Re-generated.
8786         * features/i386/32bit-linux.c: Re-generated.
8787         * features/i386/32bit-mpx.c: Re-generated.
8788         * features/i386/32bit-pkeys.c: Re-generated.
8789         * features/i386/32bit-sse.c: Re-generated.
8791 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8793         * regformats/regdef.h (struct reg): Override operator == and !=.
8795 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8797         * arch/tdesc.h: New file.
8798         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8799         * target-descriptions.c: Update comments.
8800         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8801         declarations.
8802         * features/i386/32bit-avx.c: Re-generated.
8803         * features/i386/32bit-avx512.c: Re-generated.
8804         * features/i386/32bit-core.c: Re-generated.
8805         * features/i386/32bit-linux.c: Re-generated.
8806         * features/i386/32bit-mpx.c: Re-generated.
8807         * features/i386/32bit-pkeys.c: Re-generated.
8808         * features/i386/32bit-sse.c: Re-generated.
8810 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8812         * regformats/regdat.sh: Update generated code.
8814 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8816         * regformats/regdat.sh: Adjust code order.
8818 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8820         * expprint.c (dump_subexp_body_standard): Use constant format
8821         string in fprintf_filtered call.
8823 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8825         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8826         NetBSD/i386.
8827         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8829 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8831         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8833 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8835         * bsd-kvm.o: Define _KMEMUSER.
8836         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8837         * configure: Regenerate.
8839 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8841         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8842         * i386-fbsd-nat.c: Likewise.
8844 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8846         * unittests/array-view-selftests.c: Add include of <array>.
8848 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8850         * spu-tdep.c (flush_ea_cache): Add missing argument to
8851         call_function_by_hand.
8853 2017-09-04  Pedro Alves  <palves@redhat.com>
8855         * NEWS (Safer support for debugging with no debug info): New.
8857 2017-09-04  Pedro Alves  <palves@redhat.com>
8859         * c-exp.y (function_method, function_method_void): Add current
8860         instance flags to TYPE_INSTANCE.
8861         * dwarf2read.c (check_modifier): New.
8862         (compute_delayed_physnames): Assert that only C++ adds delayed
8863         physnames.  Mark fn_fields as const/volatile depending on
8864         physname.
8865         * eval.c (make_params): New type_instance_flags parameter.  Use
8866         it as the new type's instance flags.
8867         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8868         flags element and pass it to make_params.
8869         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8870         instance flags element.
8871         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8872         * gdbtypes.h: Include "enum-flags.h".
8873         (type_instance_flags): New enum-flags type.
8874         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8875         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8876         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8877         (follow_type_instance_flags): New function.
8878         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8879         * parser-defs.h (follow_type_instance_flags): Declare.
8880         * valops.c (value_struct_elt_for_reference): const/volatile must
8881         match too.
8883 2017-09-04  Pedro Alves  <palves@redhat.com>
8885         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8886         function/method scopes; lookup the nested name as a function local
8887         static variable.
8889 2017-09-04  Pedro Alves  <palves@redhat.com>
8891         (%type <voidval>): Add function_method.
8892         * c-exp.y (exp): New production for calls with no arguments.
8893         (function_method, function_method_void_or_typelist): New
8894         productions.
8895         (exp): New production for "method()::static_var".
8896         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8897         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8898         Handle OP_FUNC_STATIC_VAR.
8899         * parse.c (operator_length_standard):
8900         Handle OP_FUNC_STATIC_VAR.
8902 2017-09-04  Pedro Alves  <palves@redhat.com>
8904         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8905         handling.
8906         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8907         Ditto.
8908         * parse.c (operator_length_standard, operator_check_standard):
8909         Ditto.
8910         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8912 2017-09-04  Pedro Alves  <palves@redhat.com>
8914         * ax-gdb.c: Include "typeprint.h".
8915         (gen_expr_for_cast): New function.
8916         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8917         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8918         type is unknown.
8919         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8920         nodebug_data_symbol.
8921         * eval.c: Include "typeprint.h".
8922         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8923         Error out if symbol has unknown type.
8924         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8925         evaluate_subexp_for_cast.
8926         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8927         OP_VAR_MSYM_VALUE.
8928         (evaluate_subexp_for_cast): New function.
8929         * gdbtypes.c (init_nodebug_var_type): New function.
8930         (objfile_type): Use it to initialize types of variables with no
8931         debug info.
8932         * typeprint.c (error_unknown_type): New.
8933         * typeprint.h (error_unknown_type): New declaration.
8934         * compile/compile-c-types.c (convert_type_basic): Handle
8935         TYPE_CODE_ERROR; warn and fallback to int for variables with
8936         unknown type.
8938 2017-09-04  Pedro Alves  <palves@redhat.com>
8940         * eval.c (evaluate_var_value): New function, factored out from ...
8941         (evaluate_subexp_standard): ... here.
8943 2017-09-04  Pedro Alves  <palves@redhat.com>
8945         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8946         Remove useless assignments to 'op'.
8948 2017-09-04  Pedro Alves  <palves@redhat.com>
8950         * eval.c (eval_skip_value): New function.
8951         (evaluate_subexp_standard): Use it.
8953 2017-09-04  Pedro Alves  <palves@redhat.com>
8955         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8956         function name from symbol/minsym and pass it to
8957         error_call_unknown_return_type.
8959 2017-09-04  Pedro Alves  <palves@redhat.com>
8961         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8962         * ax-gdb.c (gen_msym_var_ref): New function.
8963         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8964         * eval.c (evaluate_var_msym_value): New function.
8965         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8966         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8967         to call_function_by_hand.
8968         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8969         Handle OP_VAR_MSYM_VALUE.
8970         (union exp_element) <msymbol>: New field.
8971         * minsyms.h (struct type): Forward declare.
8972         (find_minsym_type_and_address): Declare.
8973         * parse.c (write_exp_elt_msym): New function.
8974         (write_exp_msymbol): Delete, refactored as ...
8975         (find_minsym_type_and_address): ... this new function.
8976         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8977         (operator_length_standard, operator_check_standard): Handle
8978         OP_VAR_MSYM_VALUE.
8979         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8981 2017-09-04  Pedro Alves  <palves@redhat.com>
8983         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8984         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8985         unknown.
8986         * ada-typeprint.c (print_func_type): Handle functions with unknown
8987         return type.
8988         * c-typeprint.c (c_type_print_base): Handle functions and methods
8989         with unknown return type.
8990         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8991         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8992         * compile/compile-c-types.c: Include "objfiles.h".
8993         (convert_func): For functions with unknown return type, warn and
8994         default to int.
8995         * compile/compile-object-run.c (compile_object_run): Adjust call
8996         to call_function_by_hand_dummy.
8997         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8998         call_function_by_hand.
8999         * eval.c (evaluate_subexp_standard): Adjust calls to
9000         call_function_by_hand.  Handle functions and methods with unknown
9001         return type.  Pass expect_type to call_function_by_hand.
9002         * f-typeprint.c (f_type_print_base): Handle functions with unknown
9003         return type.
9004         * gcore.c (call_target_sbrk): Adjust call to
9005         call_function_by_hand.
9006         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
9007         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
9008         an integer address type instead of nodebug.
9009         * guile/scm-value.c (gdbscm_value_call): Adjust call to
9010         call_function_by_hand.
9011         * infcall.c (error_call_unknown_return_type): New function.
9012         (call_function_by_hand): New "default_return_type" parameter.
9013         Pass it down.
9014         (call_function_by_hand_dummy): New "default_return_type"
9015         parameter.  Use it instead of defaulting to int.  If there's no
9016         default and the return type is unknown, throw an error.  If
9017         there's a default return type, and the called function has no
9018         debug info, then assume the function is prototyped.
9019         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
9020         New "default_return_type" parameter.
9021         (error_call_unknown_return_type): New declaration.
9022         * linux-fork.c (call_lseek): Cast return type of lseek.
9023         (inferior_call_waitpid, checkpoint_command): Adjust calls to
9024         call_function_by_hand.
9025         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
9026         calls to call_function_by_hand.
9027         * m2-typeprint.c (m2_procedure): Handle functions with unknown
9028         return type.
9029         * objc-lang.c (lookup_objc_class, lookup_child_selector)
9030         (value_nsstring, print_object_command): Adjust calls to
9031         call_function_by_hand.
9032         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
9033         functions with unknown return type.
9034         (pascal_type_print_func_varspec_suffix): New function.
9035         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
9036         TYPE_CODE_METHOD>: Use it.
9037         * python/py-value.c (valpy_call): Adjust call to
9038         call_function_by_hand.
9039         * rust-lang.c (rust_evaluate_funcall): Adjust call to
9040         call_function_by_hand.
9041         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
9042         call_function_by_hand.
9043         * valops.c (value_allocate_space_in_inferior): Adjust call to
9044         call_function_by_hand.
9045         * typeprint.c (type_print_unknown_return_type): New function.
9046         * typeprint.h (type_print_unknown_return_type): New declaration.
9048 2017-09-04  Pedro Alves  <palves@redhat.com>
9050         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
9051         types with more than one parameter as prototyped.
9053 2017-09-04  Pedro Alves  <palves@redhat.com>
9055         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
9056         (disassemble_command): Use gdb_disassembly_flags instead of bare
9057         int.
9058         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
9059         (dump_insns, do_mixed_source_and_assembly_deprecated)
9060         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
9061         Use gdb_disassembly_flags instead of bare int.
9062         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
9063         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
9064         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
9065         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
9066         (enum gdb_disassembly_flag): ... values of this new enumeration.
9067         (gdb_disassembly_flags): Define.
9068         (gdb_disassembly)
9069         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
9070         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
9071         gdb_disassembly_flags instead of bare int.
9072         * record-btrace.c (btrace_insn_history)
9073         (record_btrace_insn_history, record_btrace_insn_history_range)
9074         (record_btrace_insn_history_from): Use gdb_disassembly_flags
9075         instead of bare int.
9076         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
9077         Use gdb_disassembly_flags instead of bare int.
9078         * target-debug.h (target_debug_print_gdb_disassembly_flags):
9079         Define.
9080         * target-delegates.c: Regenerate.
9081         * target.c (target_insn_history, target_insn_history_from)
9082         (target_insn_history_range): Use gdb_disassembly_flags instead of
9083         bare int.
9084         * target.h: Include "disasm.h".
9085         (struct target_ops) <to_insn_history, to_insn_history_from,
9086         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
9087         int.
9088         (target_insn_history, target_insn_history_from)
9089         (target_insn_history_range): Use gdb_disassembly_flags instead of
9090         bare int.
9092 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9094         * cli/cli-script.c (build_command_line): For if/while commands,
9095         check whether args is empty.
9097 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9099         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
9100         (enum command_control_type): Likewise.
9101         (struct command_line): Likewise.
9102         (free_command_lines): Likewise.
9103         (struct command_lines_deleter): Likewise.
9104         (command_line_up): Likewise.
9105         (read_command_lines): Likewise.
9106         (read_command_lines_1): Likewise.
9107         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
9108         (enum command_control_type): Likewise.
9109         (struct command_line): Likewise.
9110         (free_command_lines): Likewise.
9111         (struct command_lines_deleter): Likewise.
9112         (command_line_up): Likewise.
9113         (read_command_lines): Likewise.
9114         (read_command_lines_1): Likewise.
9115         * breakpoint.h: Include cli/cli-script.h.
9116         * extension-priv.h: Likewise.
9117         * gdbcmd.h: Likewise.
9119 2017-09-04  Pedro Alves  <palves@redhat.com>
9121         * ada-lang.c (is_known_support_routine): Move sal declaration to
9122         where it is initialized.
9123         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
9124         (parse_breakpoint_sals, decode_static_tracepoint_spec)
9125         (clear_command, update_static_tracepoint): Remove init_sal
9126         references.  Move declarations closer to initializations.
9127         * cli/cli-cmds.c (list_command): Move sal declarations closer to
9128         initializations.
9129         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
9130         references.  Move sal declarations closer to initializations.
9131         * frame.c (find_frame_sal): Return a symtab_and_line via function
9132         return instead of output parameter.  Remove init_sal references.
9133         * frame.h (find_frame_sal): Return a symtab_and_line via function
9134         return instead of output parameter.
9135         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
9136         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
9137         instead of memset.
9138         (gdbscm_find_pc_line): Remove init_sal reference.
9139         * infcall.c (call_function_by_hand_dummy): Remove init_sal
9140         references.  Move declarations closer to initializations.
9141         * infcmd.c (set_step_frame): Update.  Move declarations closer to
9142         initializations.
9143         (finish_backward): Remove init_sal references.  Move declarations
9144         closer to initializations.
9145         * infrun.c (process_event_stop_test, handle_step_into_function)
9146         (insert_hp_step_resume_breakpoint_at_frame)
9147         (insert_step_resume_breakpoint_at_caller): Likewise.
9148         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
9149         (symbol_to_sal): Likewise.
9150         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
9151         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
9152         to its initialization.
9153         * reverse.c (save_bookmark_command): Use new/delete.  Remove
9154         init_sal references.  Move declarations closer to initializations.
9155         * source.c (get_current_source_symtab_and_line): Remove brace
9156         initialization.
9157         (set_current_source_symtab_and_line): Now takes the sal by const
9158         reference.  Remove brace initialization.
9159         (line_info): Remove init_sal reference.
9160         * source.h (set_current_source_symtab_and_line): Now takes a
9161         symtab_and_line via const reference.
9162         * stack.c (set_current_sal_from_frame): Adjust.
9163         (print_frame_info): Adjust.
9164         (get_last_displayed_sal): Return the sal via function return
9165         instead of via output parameter.  Simplify.
9166         (frame_info): Adjust.
9167         * stack.h (get_last_displayed_sal): Return the sal via function
9168         return instead of via output parameter.
9169         * symtab.c (init_sal): Delete.
9170         (find_pc_sect_line): Remove init_sal references.  Move
9171         declarations closer to initializations.
9172         (find_function_start_sal): Remove init_sal references.  Move
9173         declarations closer to initializations.
9174         * symtab.h (struct symtab_and_line): In-class initialize all
9175         fields.
9176         * tracepoint.c (set_traceframe_context)
9177         (print_one_static_tracepoint_marker): Remove init_sal references.
9178         Move declarations closer to initializations.
9179         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
9180         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
9181         declarations closer to initializations.
9182         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
9183         init_sal references.  Adjust.
9185 2017-09-04  Pedro Alves  <palves@redhat.com>
9187         * ax-gdb.c (agent_command_1): Use range-for.
9188         * break-catch-throw.c (re_set_exception_catchpoint): Update.
9189         * breakpoint.c: Include "common/array-view.h".
9190         (init_breakpoint_sal, create_breakpoint_sal): Change sals
9191         parameter from struct symtabs_and_lines to
9192         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
9193         (breakpoint_sals_to_pc): Change sals parameter from struct
9194         symtabs_and_lines to std::vector reference.
9195         (check_fast_tracepoint_sals): Change sals parameter from struct
9196         symtabs_and_lines to std::array_view.  Use range-for.
9197         (decode_static_tracepoint_spec): Return a std::vector instead of
9198         symtabs_and_lines.  Update.
9199         (create_breakpoint): Update.
9200         (break_range_command, until_break_command, clear_command): Update.
9201         (base_breakpoint_decode_location, bkpt_decode_location)
9202         (bkpt_probe_create_sals_from_location)
9203         (bkpt_probe_decode_location, tracepoint_decode_location)
9204         (tracepoint_probe_decode_location)
9205         (strace_marker_create_sals_from_location): Return a std::vector
9206         instead of symtabs_and_lines.
9207         (strace_marker_create_breakpoints_sal): Update.
9208         (strace_marker_decode_location): Return a std::vector instead of
9209         symtabs_and_lines.  Update.
9210         (update_breakpoint_locations): Change struct symtabs_and_lines
9211         parameters to gdb::array_view.  Adjust.
9212         (location_to_sals): Return a std::vector instead of
9213         symtabs_and_lines.  Update.
9214         (breakpoint_re_set_default): Use std::vector instead of struct
9215         symtabs_and_lines.
9216         (decode_location_default): Return a std::vector instead of
9217         symtabs_and_lines.  Update.
9218         * breakpoint.h: Include "common/array-view.h".
9219         (struct breakpoint_ops) <decode_location>: Now returns a
9220         std::vector instead of returning a symtabs_and_lines via output
9221         parameter.
9222         (update_breakpoint_locations): Change sals parameters to use
9223         gdb::array_view.
9224         * cli/cli-cmds.c (edit_command, list_command): Update to use
9225         std::vector and gdb::array_view.
9226         (ambiguous_line_spec): Adjust to use gdb::array_view and
9227         range-for.
9228         (compare_symtabs): Rename to ...
9229         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
9230         const reference and adjust.
9231         (filter_sals): Rewrite using std::vector and standard algorithms.
9232         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
9233         (jump_command): Update to use std::vector.
9234         * linespec.c (struct linespec_state) <canonical_names>: Update
9235         comment.
9236         (add_sal_to_sals_basic): Delete.
9237         (add_sal_to_sals, filter_results, convert_results_to_lsals)
9238         (decode_line_2, create_sals_line_offset)
9239         (convert_address_location_to_sals, convert_linespec_to_sals)
9240         (convert_explicit_location_to_sals, parse_linespec)
9241         (event_location_to_sals, decode_line_full, decode_line_1)
9242         (decode_line_with_current_source)
9243         (decode_line_with_last_displayed, decode_objc)
9244         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
9245         (linespec_result::~linespec_result): Adjust to use std::vector
9246         instead of symtabs_and_lines.
9247         * linespec.h (linespec_sals::sals): Now a std::vector.
9248         (struct linespec_result): Use std::vector, bool, and in-class
9249         initialization.
9250         (decode_line_1, decode_line_with_current_source)
9251         (decode_line_with_last_displayed): Return std::vector.
9252         * macrocmd.c (info_macros_command): Use std::vector.
9253         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
9254         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
9255         std::vector.
9256         * probe.h (parse_probes): Return a std::vector.
9257         * python/python.c (gdbpy_decode_line): Use std::vector and
9258         gdb::array_view.
9259         * source.c (select_source_symtab, line_info): Use std::vector.
9260         * stack.c (func_command): Use std::vector.
9261         * symtab.h (struct symtabs_and_lines): Delete.
9262         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
9264 2017-09-04  Pedro Alves  <palves@redhat.com>
9266         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9267         unittests/array-view-selftests.c.
9268         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
9269         * common/array-view.h: New file.
9270         * unittests/array-view-selftests.c: New file.
9272 2017-09-04  Pedro Alves  <palves@redhat.com>
9274         * cli/cli-cmds.c (edit_command): Pass message to
9275         ambiguous_line_spec.
9276         (list_command): Pass message to ambiguous_line_spec.  Say
9277         "first"/"last" instead of "start" and "end" to be consistent with
9278         the manual.
9279         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
9280         them to print formatted message.
9282 2017-09-04  Pedro Alves  <palves@redhat.com>
9284         * btrace.c (ftrace_add_pt): Pass btrace_insn to
9285         ftrace_update_insns by reference instead of pointer.
9287 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9289         * i386-go32-tdep.c: Include x86-xstate.h.
9290         (i386_go32_init_abi): Call i386_target_description.
9291         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
9292         if xcr0 is X86_XSTATE_X87_MASK.
9293         * i386-tdep.h (tdesc_i386): Remove the declaration.
9294         (tdesc_i386_mmx): Likewise.
9296 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9298         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
9299         X86_XSTATE_SSE_MASK instead of 0.
9301 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9303         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
9304         i386_target_description.
9305         * i386-fbsd-nat.c (i386fbsd_read_description): Call
9306         i386_target_description.
9307         * i386-tdep.c (i386_gdbarch_init): Likewise.
9309 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9311         * amd64-darwin-tdep.c: Include "x86-xstate.h".
9312         (x86_darwin_init_abi_64): Call amd64_target_description.
9313         * amd64-dicos-tdep.c: Likewise.
9314         * amd64-fbsd-nat.c: Likewise.
9315         * amd64-fbsd-tdep.c: Likewise.
9316         * amd64-nbsd-tdep.c: Likewise.
9317         * amd64-obsd-tdep.c: Likewise.
9318         * amd64-sol2-tdep.c: Likewise.
9319         * amd64-windows-tdep.c: Likewise.
9320         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
9322 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9324         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
9325         (btrace_function) <insn>: Change type to use std::vector.
9326         * btrace.c (ftrace_debug, ftrace_call_num_insn,
9327         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
9328         ftrace_update_insns, ftrace_compute_global_level_offset,
9329         btrace_stitch_bts, btrace_clear, btrace_insn_get,
9330         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
9331         change to std::vector.
9332         (ftrace_update_insns): Adjust to change to std::vector, change
9333         type of INSN parameter.
9334         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
9335         * record-btrace.c (btrace_call_history_insn_range,
9336         btrace_compute_src_line_range,
9337         record_btrace_frame_prev_register): Adjust to change to
9338         std::vector.
9339         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
9340         to change to std::vector.
9342 2017-09-03  Tom Tromey  <tom@tromey.com>
9344         * corefile.c (reopen_exec_file): Use std::string.
9346 2017-09-03  Tom Tromey  <tom@tromey.com>
9348         * compile/compile.c (compile_register_name_mangled): Return
9349         std::string.
9350         * compile/compile-loc2c.c (pushf_register_address): Update.
9351         (pushf_register): Update.
9352         * compile/compile-c-types.c (convert_array): Update.
9353         * compile/compile-c-symbols.c (generate_vla_size): Update.
9354         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9355         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9356         (convert_one_symbol): Update.
9357         (generate_c_for_for_one_variable): Update.
9358         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9359         std::string.
9360         (generate_register_struct): Update.
9361         * compile/compile-internal.h (c_get_range_decl_name): Return a
9362         std::string.
9363         (compile_register_name_mangled): Return std::string.
9365 2017-09-03  Tom Tromey  <tom@tromey.com>
9367         * utils.c (perror_string): Return a std::string.
9368         (throw_perror_with_name, perror_warning_with_name): Update.
9370 2017-09-03  Tom Tromey  <tom@tromey.com>
9372         * demangle.c (demangle_command): Use std::string,
9373         unique_xmalloc_ptr.
9375 2017-09-03  Tom Tromey  <tom@tromey.com>
9377         * cli/cli-setshow.c (do_set_command): Use std::string.
9379 2017-09-03  Tom Tromey  <tom@tromey.com>
9381         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9383 2017-09-03  Tom Tromey  <tom@tromey.com>
9385         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9387 2017-09-03  Tom Tromey  <tom@tromey.com>
9389         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9390         gdb::unique_xmalloc_ptr.
9392 2017-09-03  Tom Tromey  <tom@tromey.com>
9394         * thread.c (print_thread_info_1): Use string_printf.
9395         (thread_apply_command, thread_apply_all_command): Use
9396         std::string.
9398 2017-09-03  Tom Tromey  <tom@tromey.com>
9400         * valprint.c (val_print_string): Update.
9401         * gdbcore.h (memory_error_message): Return std::string.
9402         * corefile.c (memory_error_message): Return std::string.
9403         (memory_error): Update.
9404         * breakpoint.c (insert_bp_location): Update.
9406 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9408         * target/waitstatus.h (target_waitstatus_to_string): Change
9409         return type to std::string.
9410         * target/waitstatus.c (target_waitstatus_to_string): Return
9411         std::string.
9412         * target.h (target_waitstatus_to_string): Remove declaration.
9413         * infrun.c (resume, clear_proceed_status_thread,
9414         print_target_wait_results, do_target_wait, save_waitstatus,
9415         stop_all_threads): Adjust.
9416         * record-btrace.c (record_btrace_wait): Adjust.
9417         * target-debug.h
9418         (target_debug_print_struct_target_waitstatus_p): Adjust.
9420 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9422         PR gdb/22046
9423         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9424         detection.
9426 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9428         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9429         for setting/unsetting environment variables on the remote target.
9430         (New remote packets): Add entries for QEnvironmentHexEncoded,
9431         QEnvironmentUnset and QEnvironmentReset.
9432         * common/environ.c (gdb_environ::operator=): Extend method to
9433         handle m_user_set_env_list and m_user_unset_env_list.
9434         (gdb_environ::clear): Likewise.
9435         (match_var_in_string): Change type of first parameter from 'char
9436         *' to 'const char *'.
9437         (gdb_environ::set): Extend method to handle
9438         m_user_set_env_list and m_user_unset_env_list.
9439         (gdb_environ::unset): Likewise.
9440         (gdb_environ::clear_user_set_env): New method.
9441         (gdb_environ::user_set_envp): Likewise.
9442         (gdb_environ::user_unset_envp): Likewise.
9443         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9444         m_user_unset_env_list on move constructor/assignment.
9445         (unset): Add new default parameter 'update_unset_list = true'.
9446         (clear_user_set_env): New method.
9447         (user_set_envp): Likewise.
9448         (user_unset_envp): Likewise.
9449         (m_user_set_env_list): New std::set.
9450         (m_user_unset_env_list): Likewise.
9451         * common/rsp-low.c (hex2str): New function.
9452         (bin2hex): New overload for bin2hex function.
9453         * common/rsp-low.c (hex2str): New prototype.
9454         (str2hex): New overload prototype.
9455         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9456         QEnvironmentUnset and QEnvironmentReset.
9457         (remote_protocol_features): Add QEnvironmentHexEncoded,
9458         QEnvironmentUnset and QEnvironmentReset packets.
9459         (send_environment_packet): New function.
9460         (extended_remote_environment_support): Likewise.
9461         (extended_remote_create_inferior): Call
9462         extended_remote_environment_support.
9463         (_initialize_remote): Add QEnvironmentHexEncoded,
9464         QEnvironmentUnset and QEnvironmentReset packet configs.
9465         * unittests/environ-selftests.c (gdb_selftest_env_var):
9466         New variable.
9467         (test_vector_initialization): New function.
9468         (test_init_from_host_environ): Likewise.
9469         (test_reinit_from_host_environ): Likewise.
9470         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9471         Likewise.
9472         (test_unset_set_empty_vector): Likewise.
9473         (test_vector_clear): Likewise.
9474         (test_std_move): Likewise.
9475         (test_move_constructor):
9476         (test_self_move): Likewise.
9477         (test_set_unset_reset): Likewise.
9478         (run_tests): Rewrite in terms of the functions above.
9480 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9482         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9483         (adi_available): Use a temp variable of type CORE_ADDR as argument
9484         3 when calling target_auxv_search.
9485         (adi_normalize_address): Use masks and xor operators to calculate
9486         normalized address.
9487         (adi_read_versions, adi_write_versions, adi_print_versions)
9488         (do_examine, do_assign): Use paddress.
9490 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9492         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9493         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9494         out of loop and add supply of FIR.
9495         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9496         add collect of FIR.
9498 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9500         PR gdb/21827
9501         * cli/cli-script.c (define_command): Don't convert command name
9502         to lower case.
9504 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9506         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9507         Update all callers accordingly. Remove all code blocks handling
9508         the case where DISPP is not NULL.
9510 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9512         PR symtab/22003
9513         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9514         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9515         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9517 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9519         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9520         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9521         (read_comp_units_from_section): New parameter abbrev_section, use
9522         read_and_check_comp_unit_head, allocate signatured_type if needed.
9523         (create_all_comp_units): Update read_comp_units_from_section caller.
9525 2017-08-23  Pedro Alves  <palves@redhat.com>
9527         PR remote/21852
9528         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9529         to null_ptid and switch to thread without reading the registers
9530         after adding the inferior.
9532 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9534         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9535         compile-gcc.
9536         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9537         (compile_to_object): Implement compile_gcc.
9538         (_initialize_compile): Install "set compile-gcc".  Initialize
9539         compile_gcc.
9541 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9543         * compile/compile.c (compile_to_object): Conditionally call
9544         set_verbose.  Conditionally call compile or compile_v0.
9546 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9548         * sparc64-tdep.h: (adi_normalize_address): New export.
9549         * sparc-nat.h: (open_adi_tag_fd): New export.
9550         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9551         * sparc64-linux-tdep.c:
9552         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9553         (sparc64_linux_handle_segmentation_fault): New function.
9554         (sparc64_linux_init_abi): Register
9555         sparc64_linux_handle_segmentation_fault
9556         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9557         (sparc64_addr_bits_remove): New function.
9558         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9559         (MAX_PROC_NAME_SIZE): New macro.
9560         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9561         (sparc64adilist): New variable.
9562         (adi_proc_list): New variable.
9563         (find_adi_info): New function.
9564         (add_adi_info): New function.
9565         (get_adi_info_proc): New function.
9566         (get_adi_info): New function.
9567         (info_adi_command): New function.
9568         (read_maps_entry): New function.
9569         (adi_available): New function.
9570         (adi_normalize_address): New function.
9571         (adi_align_address): New function.
9572         (adi_convert_byte_count): New function.
9573         (adi_tag_fd): New function.
9574         (adi_is_addr_mapped): New function.
9575         (adi_read_versions): New function.
9576         (adi_write_versions): New function.
9577         (adi_print_versions): New function.
9578         (do_examine): New function.
9579         (do_assign): New function.
9580         (adi_examine_command): New function.
9581         (adi_assign_command): New function.
9582         (_initialize_sparc64_adi_tdep): New function.
9584 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9586         * breakpoint.c (breakpoints_info): Rename to ...
9587         (info_breakpoints_command): ... this.
9588         (watchpoints_info): Rename to ...
9589         (info_watchpoints_command): ... this.
9590         (tracepoints_info): Rename to ...
9591         (info_tracepoints_command): ... this.
9592         (_initialize_breakpoint): Adjust.
9593         * dcache.c (dcache_info): Rename to ...
9594         (info_display_command): ... this.
9595         (_initialize_dcache): Adjust.
9596         * frame.h (args_info): Rename to ...
9597         (info_args_command): ... this.
9598         (locals_info): Rename to ...
9599         (info_locals_command): ... this.
9600         * infcmd.c (nofp_registers_info): Rename to ...
9601         (info_registers_command): ... this.
9602         (float_info): Rename to ...
9603         (info_float_command): ... this.
9604         (program_info): Rename to ...
9605         (info_program_command): ... this.
9606         (all_registers_info): Rename to ...
9607         (info_all_registers_command): ... this.
9608         (vector_info): Rename to ...
9609         (info_vector_command): ... this.
9610         (float_info): Rename to ...
9611         (info_float_command): ... this.
9612         (_initialize_infcmd): Adjust.
9613         * inferior.h (term_info): Rename to ...
9614         (info_terminal_command): ... this.
9615         * inflow.c (term_info): Rename to ...
9616         (info_terminal_command): ... this.
9617         (_initialize_inflow): Adjust.
9618         * infrun.c (signals_info): Rename to ...
9619         (info_signals_command): ... this.
9620         (_initialize_infrun): Adjust.
9621         * objc-lang.c (classes_info): Rename to ...
9622         (info_classes_command): ... this.
9623         (selectors_info): Rename to ...
9624         (info_selectors_command): ... this.
9625         (_initialize_objc_language): Adjust.
9626         * printcmd.c (sym_info): Rename to ...
9627         (info_symbol_command): ... this.
9628         (address_info): Rename to ...
9629         (info_address_command): ... this.
9630         (display_info): Rename to ...
9631         (info_display_command): ... this.
9632         (_initialize_printcmd): Adjust.
9633         * reverse.c (bookmarks_info): Rename to ...
9634         (info_breakpoints_command): ... this.
9635         (_initialize_reverse): Adjust.
9636         * ser-go32.c (dos_info): Rename to ...
9637         (info_serial_command): ... this.
9638         (_initialize_ser_dos): Adjust.
9639         * skip.c (skip_info): Rename to ...
9640         (info_skip_command): ... this.
9641         (_initialize_step_skip): Adjust.
9642         * source.c (line_info): Rename to ...
9643         (info_line_command): ... this.
9644         (source_info): Rename to ...
9645         (info_source_command)
9646         * stack.c (frame_info): Rename to ...
9647         (info_frame_command): ... this.
9648         (locals_info): Rename to ...
9649         (info_locals_command): ... this.
9650         (args_info): Rename to ...
9651         (info_args_command): ... this.
9652         (_initialize_stack): Adjust.
9653         * symtab.c (sources_info): Rename to ...
9654         (info_sources_command): ... this.
9655         (variables_info): Rename to ...
9656         (info_variables_command): ... this.
9657         (functions_info): Rename to ...
9658         (info_functions_command): ... this.
9659         (types_info): Rename to ...
9660         (info_types_command): ... this.
9661         (_initialize_symtab): Adjust.
9662         * target.c (target_info): Rename to ...
9663         (info_target_command): ... this.
9664         (initialize_targets): Adjust.
9665         * tracepoint.c (tvariables_info): Rename to ...
9666         (info_tvariables_command): ... this.
9667         (scope_info): Rename to ...
9668         (info_scope_command): ... this.
9669         (trace_dump_actions): Adjust.
9670         (_initialize_tracepoint): Adjust.
9672 2017-08-22  Tom Tromey  <tom@tromey.com>
9674         * breakpoint.h (install_breakpoint): Update.
9675         * breakpoint.c (add_solib_catchpoint): Update.
9676         (install_breakpoint): Change argument to a std::unique_ptr.
9677         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9678         (create_breakpoint_sal, create_breakpoint): Update.
9679         (watch_command_1, catch_exec_command_1)
9680         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9681         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9682         Return the breakpoint.
9683         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9684         (new_single_step_breakpoint): Update.
9685         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9686         std::unique_ptr.
9687         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9688         std::unique_ptr.
9689         * break-catch-sig.c (create_signal_catchpoint): Use
9690         std::unique_ptr.
9691         * ada-lang.c (create_ada_exception_catchpoint): Use
9692         std::unique_ptr.
9694 2017-08-22  Tom Tromey  <tom@tromey.com>
9696         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9698 2017-08-22  Tom Tromey  <tom@tromey.com>
9700         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9701         (lookup_partial_symbol): Update.
9703 2017-08-22  Tom Tromey  <tom@tromey.com>
9705         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9706         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9707         (find_and_open_source, symtab_to_fullname): Update.
9708         * psymtab.c (psymtab_to_fullname): Update.
9710 2017-08-22  Tom Tromey  <tom@tromey.com>
9712         * exec.c (exec_file_attach): Update.
9713         * linux-thread-db.c (try_thread_db_load): Update.
9714         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9715         * utils.c (gdb_realpath): Change return type.
9716         (gdb_realpath_keepfile): Update.
9717         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9718         (_initialize_utils): Register the new self test.
9719         * source.c (openp): Update.
9720         (find_and_open_source): Update.
9721         * nto-tdep.c (nto_find_and_open_solib): Update.
9722         * main.c (set_gdb_data_directory): Update.
9723         (captured_main_1): Update.
9724         * dwarf2read.c (dwarf2_get_dwz_file): Update
9725         (dw2_map_symbol_filenames): Update.
9726         * auto-load.c (auto_load_safe_path_vec_update): Update.
9727         (filename_is_in_auto_load_safe_path_vec): Change type of
9728         "filename_realp".
9729         (auto_load_objfile_script): Update.
9730         (file_is_auto_load_safe): Update.  Use std::string.
9731         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9733 2017-08-22  Tom Tromey  <tom@tromey.com>
9735         * utils.c (gdb_realpath_keepfile): Return a
9736         gdb::unique_xmalloc_ptr.
9737         * exec.c (exec_file_attach): Update.
9738         * utils.h (gdb_realpath_keepfile): Return a
9739         gdb::unique_xmalloc_ptr.
9741 2017-08-22  Tom Tromey  <tom@tromey.com>
9743         * compile/compile.c (compile_file_command): Use
9744         gdb::unique_xmalloc_ptr, std::string.
9745         * utils.c (gdb_abspath): Change return type.
9746         * source.c (openp): Update.
9747         * objfiles.c (allocate_objfile): Update.
9748         * main.c (set_gdb_data_directory): Update.
9749         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9751 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9753         * cli-cmds.c (list_commands): List actual code around more than
9754         one location.
9756 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9758         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9760 2017-08-21  Pedro Alves  <palves@redhat.com>
9762         PR gdb/19487
9763         * c-exp.y (variable production): Handle function aliases.
9764         * minsyms.c (msymbol_is_text): New function.
9765         * minsyms.h (msymbol_is_text): Declare.
9766         * symtab.c (find_function_alias_target): New function.
9767         * symtab.h (find_function_alias_target): Declare.
9769 2017-08-21  Pedro Alves  <palves@redhat.com>
9771         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9772         typedefs.
9773         * typeprint.c (whatis_exp): If handling "whatis", and expression
9774         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9775         typedefs here.
9776         * valops.c (value_cast): Save "to" type before resolving
9777         stubs/typedefs.  Use that type as resulting value's type.
9779 2017-08-18  Tom Tromey  <tom@tromey.com>
9780             Pedro Alves  <palves@redhat.com>
9782         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9783         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9784         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9785         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9786         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9787         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9788         (linux_get_siginfo_data): Add "thread" argument.  Use
9789         scoped_restore.
9790         * linux-nat.c (linux_child_follow_fork)
9791         (check_stopped_by_watchpoint): Use scoped_restore.
9792         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9793         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9794         (restore_inferior_ptid, save_inferior_ptid): Remove.
9795         * btrace.c (btrace_fetch): Use scoped_restore.
9796         * bsd-uthread.c (bsd_uthread_fetch_registers)
9797         (bsd_uthread_store_registers): Use scoped_restore.
9798         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9799         scoped_restore.
9800         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9801         (aix_thread_xfer_partial): Use scoped_restore.
9802         * inferior.h (save_inferior_ptid): Remove.
9804 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9806         PR tdep/21818
9807         * arm-tdep.c (gdb_print_insn_arm): Mark
9808         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9810 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9812         * NEWS: Mention GDBserver's new option "--selftest".
9813         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9814         * selftest.c: Move it to common/selftest.c.
9815         * selftest.h: Move it to common/selftest.h.
9816         * selftest-arch.c (reset): New function.
9817         (tests_with_arch): Call reset.
9819 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9821         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9822         instead of exception_fprintf and printf_filtered.
9824 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9826         * selftest.c (register_self_test): Rename it to
9827         selftests::register_test.
9828         (run_self_tests): selftest::run_tests.
9829         * selftest.h: Update declarations.
9830         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9831         selftests::register_test_foreach_arch.
9832         * selftest-arch.h: Update declaration.
9833         * aarch64-tdep.c: Update.
9834         * arm-tdep.c: Likewise.
9835         * disasm-selftests.c: Likewise.
9836         * dwarf2loc.c: Likewise.
9837         * dwarf2-frame.c: Likewise.
9838         * findvar.c: Likewise.
9839         * gdbarch-selftests.c: Likewise.
9840         * maint.c (maintenance_selftest): Likewise.
9841         * regcache.c: Likewise.
9842         * rust-exp.y: Likewise.
9843         * selftest-arch.c: Likewise.
9844         * unittests/environ-selftests.c: Likewise.
9845         * unittests/function-view-selftests.c: Likewise.
9846         * unittests/offset-type-selftests.c: Likewise.
9847         * unittests/optional-selftests.c: Likewise.
9848         * unittests/scoped_restore-selftests.c: Likewise.
9849         * utils-selftests.c: Likewise.
9851 2017-08-17  Pedro Alves  <palves@redhat.com>
9853         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9854         local.
9856 2017-08-17  Pedro Alves  <palves@redhat.com>
9858         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9859         field.
9860         (reset_die_in_process): Delete, replaced by ...
9861         (process_die_scope): ... this new class.  Make it responsible for
9862         freeing cu->line_header too.
9863         (process_die): Use process_die_scope.
9864         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9865         cu->line_header_die_owner.  Don't release the line header if it's
9866         owned by the CU.
9867         (setup_type_unit_groups): Make the CU/DIE own the line header.
9868         Don't release the line header here.
9870 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9872         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9874 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9876         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9877         Single-Key mode
9879 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9881         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9882         mode command list.
9884 2017-08-15  Stafford Horne  <shorne@gmail.com>
9886         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9888 2017-08-15  Stafford Horne  <shorne@gmail.com>
9890         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9892 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9894         PR gdb/21954
9895         * infcmd.c (unset_environment_command): Use the 'clear' method on
9896         the environment instead of resetting it.
9898 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9900         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9901         platforms.
9903 2017-08-14  Tom Tromey  <tom@tromey.com>
9905         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9906         (print_binary_chars): Likewise.
9907         (BITS_IN_BYTES): Remove.
9909 2017-08-14  Tom Tromey  <tom@tromey.com>
9911         PR gdb/21675
9912         * valprint.c (LOW_ZERO): Change value to 034.
9913         (print_octal_chars): Add static_asserts for octal constants.
9914         * printcmd.c (print_scalar_formatted): Add 'd' case.
9916 2017-08-11  Tom Tromey  <tom@tromey.com>
9918         * symfile.c (add_symbol_file_command): Use std::vector.
9920 2017-08-14  Tom Tromey  <tom@tromey.com>
9922         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9923         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9924         std::move.
9925         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9927 2017-08-11  Pedro Alves  <palves@redhat.com>
9929         * infrun.c (process_event_stop_test): Adjust
9930         function_name_is_marked_for_skip call.
9931         * skip.c: Include <list>.
9932         (skiplist_entry): Make it a class with private fields, and
9933         getters/setters.
9934         (skiplist_entry_chain): Delete.
9935         (skiplist_entries): New.
9936         (skiplist_entry_count): Delete.
9937         (highest_skiplist_entry_num): New.
9938         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9939         (add_skiplist_entry): Delete.
9940         (skiplist_entry::skiplist_entry): New.
9941         (skiplist_entry::add_entry): New.
9942         (skip_file_command, skip_function): Adjust.
9943         (compile_skip_regexp): Delete.
9944         (skip_command): Don't compile regexp here.  Adjust to use
9945         skiplist_entry::add_entry.
9946         (skip_info): Adjust to use range-for and getters.
9947         (skip_enable_command, skip_disable_command): Adjust to use
9948         range-for and setters.
9949         (skip_delete_command): Adjust to use std::list.
9950         (add_skiplist_entry): Delete.
9951         (skip_file_p): Delete, refactored as ...
9952         (skiplist_entry::do_skip_file_p): ... this new method.
9953         (skip_gfile_p): Delete, refactored as ...
9954         (skiplist_entry::do_gskip_file_p): ... this new method.
9955         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9956         (skiplist_entry::skip_function_p): ... this new method.
9957         (function_name_is_marked_for_skip): Now returns bool, and takes
9958         the function sal by const reference.  Adjust to use range-for and
9959         skiplist_entry methods.
9960         (_initialize_step_skip): Remove references to
9961         skiplist_entry_chain, skiplist_entry_count.
9962         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9963         takes the function sal by const reference.
9965 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9967         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9968         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9969         (dwarf2_frame_cache):
9970         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9971         RETURN_MASK_ALL and set *this_case to NULL.
9972         * frame-unwind.h: Update comments.
9974 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9976         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9977         (dwarf2_frame_state_copy_regs): Remove.
9978         (dwarf2_frame_state_free_regs): Remove.
9979         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9980         (dwarf2_restore_rule): Call method .alloc_regs instead of
9981         dwarf2_frame_state_alloc_regs.
9982         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9983         constructor.  Call std::move.
9984         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9985         (dwarf2_frame_cache): Likewise.
9987         [GDB_SELF_TEST]: Include selftest.h and
9988         selftest-arch.h.
9989         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9990         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9991         execute_cfa_program_test.
9993         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9994         copy ctor, assignment operator, move assignment.
9995         <alloc_regs>: New method.
9996         <swap>: New method.
9997         (struct dwarf2_frame_state): Delete dtor.
9998         (dwarf2_frame_state_alloc_regs): Remove declaration.
9999         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
10000         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
10002 2017-08-11  Yao Qi  <yao.qi@linaro.org>
10004         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
10005         (dwarf2_frame_state::dwarf2_frame_state): New.
10006         (dwarf2_frame_state::~dwarf2_frame_state): New.
10007         (dwarf2_fetch_cfa_info): Update.
10008         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
10009         rather than a pointer.  Update code.
10010         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
10011         dtor.
10012         <data_align, code_align, retaddr_column>: Change them to const.
10013         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
10014         to bool.
10016 2017-08-11  Yao Qi  <yao.qi@linaro.org>
10018         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
10019         <loc.exp>: New field.
10020         * dwarf2-frame.c (execute_cfa_program): Update.
10021         (dwarf2_frame_prev_register): Update.
10023 2017-08-10  Pedro Alves  <palves@redhat.com>
10025         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
10027 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
10029         * fbsd-nat.c (struct fbsd_fork_info): Remove.
10030         (fbsd_pending_children): Use std::list.
10031         (fbsd_remember_child): Likewise.
10032         (fbsd_is_child_pending): Likewise.
10033         (fbsd_pending_vfork_done): Use std::forward_list.
10034         (fbsd_add_vfork_done): Likewise.
10035         (fbsd_is_vfork_done_pending): Likewise.
10036         (fbsd_next_vfork_done): Likewise.
10038 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
10040         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
10041         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
10042         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
10043         for `mapfilename'.
10044         (fbsd_xfer_partial): Use gdb::byte_vector.
10045         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
10047 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
10049         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
10050         "filestuff.h".
10051         (fbsd_find_memory_regions): Fix `mapfile' initialization.
10053 2017-08-09  Tom Tromey  <tom@tromey.com>
10055         * skip.c (skiplist_entry): New constructor.
10056         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
10057         (skiplist_entry::file_is_glob): Now bool.
10058         (skiplist_entry::file, skiplist_entry::function): Now
10059         std::string.
10060         (make_skip_entry): Return a unique_ptr.  Use new.
10061         (free_skiplist_entry, free_skiplist_entry_cleanup)
10062         (make_free_skiplist_entry_cleanup): Remove.
10063         (skip_command, skip_disable_command, add_skiplist_entry)
10064         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
10065         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
10066         (function_name_is_marked_for_skip): Update.
10067         (skip_delete_command): Update.  Use delete.
10069 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
10071         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
10072         (aarch64_linux_core_read_description): New function.
10073         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
10075 2017-08-09  Pedro Alves  <palves@redhat.com>
10077         * cp-name-parser.y (cp_comp_to_string): Return a
10078         gdb::unique_xmalloc_ptr<char>.
10079         * cp-support.c (replace_typedefs_qualified_name)
10080         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
10081         (cp_canonicalize_string_full): Use op= instead of explicit
10082         convertion.
10083         (cp_class_name_from_physname, method_name_from_physname)
10084         (cp_func_name, cp_remove_params): Adjust to use
10085         gdb::unique_xmalloc_ptr<char>.
10086         * cp-support.h (cp_comp_to_string): Return a
10087         gdb::unique_xmalloc_ptr<char>.
10088         * python/py-type.c (typy_lookup_type): Adjust to use
10089         gdb::unique_xmalloc_ptr<char>.
10091 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
10093         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
10095 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
10096             Yao Qi  <yao.qi@linaro.org>
10098         * cp-support.c (cp_canonicalize_string_full): Use
10099         gdb::unique_xmalloc_ptr<char>.
10100         (cp_canonicalize_string): Likewise.
10102 2017-08-09  Yao Qi  <yao.qi@linaro.org>
10104         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
10105         * regformats/i386/amd64-avx-avx512.dat: Remove.
10106         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
10107         * regformats/i386/amd64-avx-mpx.dat:Remove.
10108         * regformats/i386/amd64-avx.dat: Remove.
10109         * regformats/i386/amd64-mpx.dat: Remove.
10110         * regformats/i386/i386-avx-avx512.dat: Remove.
10111         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
10112         * regformats/i386/i386-avx-mpx.dat: Remove.
10113         * regformats/i386/i386-mmx.dat: Remove.
10114         * regformats/i386/i386-mpx.dat: Remove.
10116 2017-08-09  Yao Qi  <yao.qi@linaro.org>
10118         * amd64-tdep.h (tdesc_x32): Remove the declaration.
10119         * amd64-tdep.c: Don't include features/i386/x32*.c.
10120         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
10121         functions.
10122         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
10123         and i386/x32-avx-avx512.
10124         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
10125         and i386/x32.xml.
10126         * features/i386/x32-avx-avx512.c: Removed.
10127         * features/i386/x32-avx-avx512.xml: Removed.
10128         * features/i386/x32-avx.c: Removed.
10129         * features/i386/x32-avx.xml: Removed.
10130         * features/i386/x32.c: Removed.
10131         * features/i386/x32.xml: Removed.
10132         * regformats/i386/x32-avx-avx512.dat: Removed.
10133         * regformats/i386/x32-avx.dat: Removed.
10134         * regformats/i386/x32.dat: Removed.
10136 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10138         PR breakpoints/21886
10139         * mem-break.c (default_memory_insert_breakpoint): Use
10140         `->placed_address' rather than `->reqstd_address' for the
10141         breakpoint location.
10143 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10145         * arch-utils.c (default_print_insn): Remove arch/mach/endian
10146         assertions.
10148 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10150         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
10151         a union of `tdep_info', `tdesc_data' and `id'.
10152         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
10153         rather than `info.tdep_info'.
10154         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
10155         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
10156         * i386-tdep.c (i386_gdbarch_init): Likewise.
10157         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
10158         * mips-tdep.c (mips_gdbarch_init): Likewise.
10159         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
10160         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
10161         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
10162         `info.tdep_info'.
10163         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
10164         `info.tdep_info'.
10165         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
10166         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
10167         `info.tdep_info'.
10168         * spu-tdep.c (spu_gdbarch_init): Likewise.
10169         * gdbarch.h: Regenerate.
10171 2017-08-07  Leszek Swirski  <leszeks@google.com>
10173         PR symtab/20899
10174         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
10176 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
10178         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
10179         (gdbsim_open): Rename gdb_argv args object to argv.
10181 2017-08-05  Tom Tromey  <tom@tromey.com>
10183         * compile/compile-object-load.c (compile_object_load): Use
10184         gdb::unique_xmalloc_ptr.
10185         * cli/cli-dump.c (scan_filename): Rename from
10186         scan_filename_with_cleanup.  Change return type.
10187         (scan_expression): Rename from scan_expression_with_cleanup.
10188         Change return type.
10189         (dump_memory_to_file, dump_value_to_file, restore_command):
10190         Use gdb::unique_xmalloc_ptr.  Update.
10191         * cli/cli-cmds.c (find_and_open_script): Use
10192         gdb::unique_xmalloc_ptr.
10193         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
10194         * symmisc.c (maintenance_print_symbols)
10195         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
10196         * symfile.c (symfile_bfd_open, generic_load)
10197         (add_symbol_file_command, remove_symbol_file_command): Use
10198         gdb::unique_xmalloc_ptr.
10199         * source.c (openp): Use gdb::unique_xmalloc_ptr.
10200         * psymtab.c (maintenance_print_psymbols): Use
10201         gdb::unique_xmalloc_ptr.
10202         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
10203         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
10204         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
10205         (reload_shared_libraries_1): Likewise.
10207 2017-08-05  Tom Tromey  <tom@tromey.com>
10209         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
10210         (rust_op_vector, rust_set_vector): New typedefs.
10211         (current_parser): New global.
10212         (work_obstack): Change to pointer type.  Update all users.
10213         (rust_ast, pstate): Remove globals.
10214         (struct rust_parser): New.
10215         (%union) <params, field_inits>: Change type.
10216         (start, tuple_expr, unit_expr, struct_expr_list, literal)
10217         (field_expr, expr_list, maybe_expr_list, type_list): Update.
10218         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
10219         (convert_params_to_types, convert_params_to_expression): Change
10220         type of "params".
10221         (ast_string): Change type of "fields".
10222         (rust_parse): Make a rust_parser.  Remove cleanups.
10223         (rust_lex_tests): Make and install an auto_obstack.
10225 2017-08-04  Yao Qi  <yao.qi@linaro.org>
10227         * configure.srv (ipa_x32_linux_regobj): New.
10228         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
10229         instead of X86_TDESC_AVX512.
10230         (initialize_low_tracepoint): Call
10231         init_registers_x32_avx_avx512_linux.
10233 2017-08-04  Yao Qi  <yao.qi@linaro.org>
10235         * utils.h (gdb_argv): Add namespace std for nullptr_t.
10237 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
10239         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
10241 2017-08-03  Tom Tromey  <tom@tromey.com>
10243         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
10244         Remove.
10245         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
10247 2017-08-03  Tom Tromey  <tom@tromey.com>
10249         * python/py-param.c (compute_enum_values): Use gdb_argv.
10251 2017-08-03  Tom Tromey  <tom@tromey.com>
10253         * utils.h (struct gdb_argv_deleter): New.
10254         (gdb_argv): New class.
10255         * utils.c (gdb_argv::reset): New method.
10256         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
10257         * tracefile.c (tsave_command): Use gdb_argv.
10258         * top.c (new_ui_command): Use gdb_argv.
10259         * symmisc.c (maintenance_print_symbols)
10260         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
10261         * symfile.c (symbol_file_command, generic_load)
10262         (remove_symbol_file_command): Use gdb_argv.
10263         * stack.c (backtrace_command): Use gdb_argv.
10264         * source.c (add_path, show_substitute_path_command)
10265         (unset_substitute_path_command, set_substitute_path_command):
10266         Use gdb_argv.
10267         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
10268         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
10269         * remote.c (extended_remote_run, remote_put_command)
10270         (remote_get_command, remote_delete_command): Use gdb_argv.
10271         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
10272         (gdbsim_open): Use gdb_argv.
10273         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
10274         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
10275         * procfs.c (procfs_info_proc): Use gdb_argv.
10276         * interps.c (interpreter_exec_cmd): Use gdb_argv.
10277         * infrun.c (handle_command): Use gdb_argv.
10278         * inferior.c (add_inferior_command, clone_inferior_command):
10279         Use gdb_argv.
10280         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
10281         * exec.c (exec_file_command): Use gdb_argv.
10282         * cli/cli-cmds.c (alias_command): Use gdb_argv.
10283         * compile/compile.c (build_argc_argv): Use gdb_argv.
10285 2017-08-03  Tom Tromey  <tom@tromey.com>
10287         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
10289 2017-08-03  Tom Tromey  <tom@tromey.com>
10291         * python/python.c (compute_python_string): Return std::string.
10292         (gdbpy_eval_from_control_command): Update.
10293         (do_start_initialization): Use std::string.
10294         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
10295         xstrprintf.
10296         * python/py-breakpoint.c (local_setattro): Use string_printf, not
10297         xstrprintf.
10299 2017-08-03  Tom Tromey  <tom@tromey.com>
10301         * top.h (do_restore_instream_cleanup): Remove.
10302         * top.c (do_restore_instream_cleanup): Remove.
10303         (read_command_file): Use scoped_restore.
10304         * cli/cli-script.c (execute_user_command): Use scoped_restore.
10306 2017-08-03  Tom Tromey  <tom@tromey.com>
10308         * cli/cli-script.c (execute_user_command)
10309         (execute_control_command): Use scoped_restore.
10311 2017-08-03  Tom Tromey  <tom@tromey.com>
10313         * cli/cli-script.c (do_restore_user_call_depth): Remove.
10314         (execute_user_command): Remove user_call_depth; use
10315         user_args_stack's size instead.
10317 2017-08-03  Tom Tromey  <tom@tromey.com>
10319         * top.h (in_user_command): Remove.
10320         * top.c (in_user_command): Remove.
10321         * cli/cli-script.c (do_restore_user_call_depth)
10322         (execute_user_command): Update.
10324 2017-08-03  Tom Tromey  <tom@tromey.com>
10326         * valops.c (search_struct_method): Use gdb::byte_vector.
10327         * valarith.c (value_concat): Use std::vector.
10328         * target.c (memory_xfer_partial): Use gdb::byte_vector.
10329         (simple_search_memory): Likewise.
10330         * printcmd.c (find_string_backward): Use gdb::byte_vector.
10331         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
10332         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
10333         * elfread.c (elf_rel_plt_read): Use std::string.
10334         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
10335         * cli/cli-dump.c (restore_section_callback): Use
10336         gdb::byte_vector.
10338 2017-08-03  Tom Tromey  <tom@tromey.com>
10340         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
10342 2017-08-03  Tom Tromey  <tom@tromey.com>
10344         * tui/tui-regs.c (tui_restore_gdbout): Remove.
10345         (tui_register_format): Use scoped_restore.
10347 2017-08-03  Tom Tromey  <tom@tromey.com>
10349         * reverse.c (exec_direction_default): Remove.
10350         (exec_reverse_once): Use scoped_restore.
10351         * remote.c (restore_remote_timeout): Remove.
10352         (remote_flash_erase, remote_flash_write, remote_flash_done)
10353         (readchar, remote_serial_write): Use scoped_restore.
10354         * cli/cli-script.c (struct source_cleanup_lines_args)
10355         (source_cleanup_lines): Remove.
10356         (script_from_file): Use scoped_restore.
10357         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10358         (source_command): Use scoped_restore.
10360 2017-08-03  Tom Tromey  <tom@tromey.com>
10362         * utils.h (make_cleanup_free_so): Remove.
10363         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10364         * solist.h (struct so_deleter): New.
10365         (so_list_up): New typedef.
10366         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10368 2017-08-03  Tom Tromey  <tom@tromey.com>
10370         * utils.h (make_cleanup_restore_current_language): Remove.
10371         * utils.c (do_restore_current_language)
10372         (make_cleanup_restore_current_language): Remove.
10373         * parse.c (parse_exp_in_context_1)
10374         (parse_expression_with_language): Use
10375         scoped_restore_current_language.
10376         * mi/mi-main.c (mi_cmd_execute): Use
10377         scoped_restore_current_language.
10378         * language.h (scoped_restore_current_language): New class.
10380 2017-08-03  Tom Tromey  <tom@tromey.com>
10382         * compile/compile.c (cleanup_unlink_file): Remove.
10383         (compile_to_object): Use gdb::unlinker.
10384         (eval_compile_command): Likewise.
10386 2017-08-03  Tom Tromey  <tom@tromey.com>
10388         * utils.h (make_cleanup_fclose): Remove.
10389         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10391 2017-08-03  Tom Tromey  <tom@tromey.com>
10393         * top.c (open_terminal_stream): Return gdb_file_up.
10394         (new_ui_command): Update.
10396 2017-08-03  Tom Tromey  <tom@tromey.com>
10398         * source.c (print_source_lines_base, forward_search_command)
10399         (reverse_search_command): Use gdb_file_up.
10401 2017-08-03  Tom Tromey  <tom@tromey.com>
10403         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10405 2017-08-03  Tom Tromey  <tom@tromey.com>
10407         * cli/cli-cmds.c (find_and_open_script): Change return type.
10408         Remove "streamp" and "full_path" parameters.
10409         (source_script_with_search): Update.
10410         * auto-load.c (source_script_file): Update.
10411         * cli/cli-cmds.h (find_and_open_script): Change type.
10412         (open_script): New struct.
10414 2017-08-03  Tom Tromey  <tom@tromey.com>
10416         * xml-support.c (xml_fetch_content_from_file): Update.
10417         * ui-file.c (stdio_file::open): Update.
10418         * tracefile-tfile.c (tfile_start): Update.
10419         * remote.c (remote_file_put, remote_file_get): Update.
10420         * nat/linux-procfs.c (linux_proc_get_int)
10421         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10422         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10423         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10424         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10425         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10426         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10427         * linux-nat.c (linux_proc_pending_signals): Update.
10428         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10429         (file_closer): Remove.
10430         * compile/compile.c (compile_to_object): Update.
10431         * common/filestuff.h (struct gdb_file_deleter): New.
10432         (gdb_file_up): New typedef.
10433         (gdb_fopen_cloexec): Change return type.
10434         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10435         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10436         (dump_binary_file, restore_binary_file): Update.
10437         * auto-load.c (auto_load_objfile_script_1): Update.
10439 2017-08-03  Tom Tromey  <tom@tromey.com>
10441         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10442         (info_static_tracepoint_markers_command): Likewise.
10443         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10444         * skip.c (skip_info): Use ui_out_emit_table.
10445         * progspace.c (print_program_space): Use ui_out_emit_table.
10446         * osdata.c (info_osdata): Use ui_out_emit_table.
10447         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10448         ui_out_emit_table.
10449         * linux-thread-db.c (info_auto_load_libthread_db): Use
10450         ui_out_emit_table.
10451         * inferior.c (print_inferior): Use ui_out_emit_table.
10452         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10453         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10454         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10455         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10456         * ui-out.h (class ui_out_emit_table): New.
10458 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10460         * mips-tdep.c (mips_fpu_type_str): New function.
10461         (mips_dump_tdep): Call it.
10463 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10465         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10466         `->mips_fpu_type'.
10468 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10470         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10472 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10474         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10476 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10478         * cli/cli-cmds.c (maintenancechecklist): New variable.
10479         * gdbcmd.h (maintenancechecklist): Declare it.
10480         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10481         Call i386_linux_read_description with different masks.
10482         * maint.c (maintenance_check_command): New function.
10483         (_initialize_maint_cmds): Call add_prefix_cmd.
10484         * target-descriptions.c (tdesc_reg): override operator != and ==.
10485         (tdesc_type): Likewise.
10486         (tdesc_feature): Likewise.
10487         (target_desc): Likewise.
10488         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10489         (maintenance_check_xml_descriptions): New function.
10490         (_initialize_target_descriptions) Add command "xml-descriptions".
10491         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10493 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10495         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10496         Include features/i386/32bit-*.c.
10497         (i386_linux_read_description): Generate target description if it
10498         doesn't exist.
10499         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10500         functions.
10501         * features/i386/32bit-linux.c: Re-generated.
10502         * features/i386/32bit-sse.c: Likewise.
10503         * target-descriptions.c (print_c_feature::visit): Print code to
10504         set register number if needed.
10505         (print_c_feature) <m_next_regnum>: New field.
10507 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10509         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10510         (FEATURE_XMLFILES): New.
10511         (FEATURE_CFILES): New.
10512         New rules.
10513         (clean-cfiles): Remove generated c files.
10514         * features/i386/32bit-avx.c: Generated.
10515         * features/i386/32bit-avx512.c: Generated.
10516         * features/i386/32bit-core.c: Generated.
10517         * features/i386/32bit-linux.c: Generated.
10518         * features/i386/32bit-mpx.c: Generated.
10519         * features/i386/32bit-pkeys.c: Generated.
10520         * features/i386/32bit-sse.c: Generated.
10521         * target-descriptions.c: Include algorithm.
10522         (tdesc_element_visitor): Add method visit_end.
10523         (print_c_tdesc): Implement visit_end.
10524         (print_c_tdesc:: m_filename_after_features): Move it to
10525         protected.
10526         (print_c_feature): New class.
10527         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10528         name starts with "i386/32bit-".
10530 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10532         * target-descriptions.c (tdesc_element_visitor): New class.
10533         (tdesc_element): New class.
10534         (tdesc_reg): Inherit from tdesc_element.
10535         (tdesc_reg::accept): New function.
10536         (tdesc_type): Inherit from tdesc_element.
10537         (tdesc_type::accept): New function.
10538         (tdesc_feature): Inherit from tdesc_element.
10539         (tdesc_feature::accept): New function.
10540         (target_desc): Inherit from tdesc_element.
10541         (target_desc::target_desc): New.
10542         (target_desc::~target_desc): New.
10543         (target_desc::accept): New.
10544         (allocate_target_description): Use new.
10545         (free_target_description): Use delete.
10546         (print_c_tdesc): New class.
10547         (maint_print_c_tdesc_cmd): Adjust.
10549         * features/aarch64.c: Re-generated.
10550         * features/arc-arcompact.c: Re-generated.
10551         * features/arc-v2.c: Re-generated.
10552         * features/arm/arm-with-iwmmxt.c: Re-generated.
10553         * features/arm/arm-with-m.c: Re-generated.
10554         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10555         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10556         * features/arm/arm-with-neon.c: Re-generated.
10557         * features/arm/arm-with-vfpv2.c: Re-generated.
10558         * features/arm/arm-with-vfpv3.c: Re-generated.
10559         * features/i386/amd64-avx-avx512.c: Re-generated.
10560         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10561         * features/i386/amd64-avx.c: Re-generated.
10562         * features/i386/amd64-avx-linux.c: Re-generated.
10563         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10564         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10565         * features/i386/amd64-avx-mpx.c: Re-generated.
10566         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10567         * features/i386/amd64.c: Re-generated.
10568         * features/i386/amd64-linux.c: Re-generated.
10569         * features/i386/amd64-mpx.c: Re-generated.
10570         * features/i386/amd64-mpx-linux.c: Re-generated.
10571         * features/i386/i386-avx-avx512.c: Re-generated.
10572         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10573         * features/i386/i386-avx.c: Re-generated.
10574         * features/i386/i386-avx-linux.c: Re-generated.
10575         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10576         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10577         * features/i386/i386-avx-mpx.c: Re-generated.
10578         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10579         * features/i386/i386.c: Re-generated.
10580         * features/i386/i386-linux.c: Re-generated.
10581         * features/i386/i386-mmx.c: Re-generated.
10582         * features/i386/i386-mmx-linux.c: Re-generated.
10583         * features/i386/i386-mpx.c: Re-generated.
10584         * features/i386/i386-mpx-linux.c: Re-generated.
10585         * features/i386/x32-avx-avx512.c: Re-generated.
10586         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10587         * features/i386/x32-avx.c: Re-generated.
10588         * features/i386/x32-avx-linux.c: Re-generated.
10589         * features/i386/x32.c: Re-generated.
10590         * features/i386/x32-linux.c: Re-generated.
10591         * features/microblaze.c: Re-generated.
10592         * features/microblaze-with-stack-protect.c: Re-generated.
10593         * features/mips64-dsp-linux.c: Re-generated.
10594         * features/mips64-linux.c: Re-generated.
10595         * features/mips-dsp-linux.c: Re-generated.
10596         * features/mips-linux.c: Re-generated.
10597         * features/nds32.c: Re-generated.
10598         * features/nios2.c: Re-generated.
10599         * features/nios2-linux.c: Re-generated.
10600         * features/rs6000/powerpc-32.c: Re-generated.
10601         * features/rs6000/powerpc-32l.c: Re-generated.
10602         * features/rs6000/powerpc-403.c: Re-generated.
10603         * features/rs6000/powerpc-403gc.c : Re-generated.
10604         * features/rs6000/powerpc-405.c: Re-generated.
10605         * features/rs6000/powerpc-505.c: Re-generated.
10606         * features/rs6000/powerpc-601.c: Re-generated.
10607         * features/rs6000/powerpc-602.c: Re-generated.
10608         * features/rs6000/powerpc-603.c: Re-generated.
10609         * features/rs6000/powerpc-604.c: Re-generated.
10610         * features/rs6000/powerpc-64.c: Re-generated.
10611         * features/rs6000/powerpc-64l.c: Re-generated.
10612         * features/rs6000/powerpc-7400.c: Re-generated.
10613         * features/rs6000/powerpc-750.c: Re-generated.
10614         * features/rs6000/powerpc-860.c: Re-generated.
10615         * features/rs6000/powerpc-altivec32.c: Re-generated.
10616         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10617         * features/rs6000/powerpc-altivec64.c: Re-generated.
10618         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10619         * features/rs6000/powerpc-cell32l.c: Re-generated.
10620         * features/rs6000/powerpc-cell64l.c: Re-generated.
10621         * features/rs6000/powerpc-e500.c: Re-generated.
10622         * features/rs6000/powerpc-e500l.c: Re-generated.
10623         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10624         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10625         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10626         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10627         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10628         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10629         * features/rs6000/powerpc-vsx32.c: Re-generated.
10630         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10631         * features/rs6000/powerpc-vsx64.c: Re-generated.
10632         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10633         * features/rs6000/rs6000.c: Re-generated.
10634         * features/s390-linux32.c: Re-generated.
10635         * features/s390-linux32v1.c: Re-generated.
10636         * features/s390-linux32v2.c: Re-generated.
10637         * features/s390-linux64.c: Re-generated.
10638         * features/s390-linux64v1.c: Re-generated.
10639         * features/s390-linux64v2.c: Re-generated.
10640         * features/s390-te-linux64.c: Re-generated.
10641         * features/s390-tevx-linux64.c: Re-generated.
10642         * features/s390-vx-linux64.c: Re-generated.
10643         * features/s390x-linux64.c: Re-generated.
10644         * features/s390x-linux64v1.c: Re-generated.
10645         * features/s390x-linux64v2.c: Re-generated.
10646         * features/s390x-te-linux64.c: Re-generated.
10647         * features/s390x-tevx-linux64.c: Re-generated.
10648         * features/s390x-vx-linux64.c: Re-generated.
10649         * features/sparc/sparc32-solaris.c: Re-generated.
10650         * features/sparc/sparc64-solaris.c: Re-generated.
10651         * features/tic6x-c62x.c: Re-generated.
10652         * features/tic6x-c62x-linux.c: Re-generated.
10653         * features/tic6x-c64x.c: Re-generated.
10654         * features/tic6x-c64x-linux.c: Re-generated.
10655         * features/tic6x-c64xp.c: Re-generated.
10656         * features/tic6x-c64xp-linux.c: Re-generated.
10658 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10660         * i386-linux-tdep.c (i386_linux_read_description): New function.
10661         (i386_linux_core_read_description): Call
10662         i386_linux_read_description.
10663         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10664         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10665         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10666         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10667         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10668         * x86-linux-nat.c (x86_linux_read_description): Call
10669         i386_linux_read_description.
10671 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10673         * NEWS: Mention it.
10674         * features/Makefile (%.c: %.xml): Pass the xml file name to
10675         command "maint print c-tdesc".
10676         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10677         name from 'arg'.
10679 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10681         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10682         in-class initialization.
10683         (tdesc_create_feature): Call new instead of XCNEW.
10684         (free_target_description): Ue delete.
10686 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10688         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10690 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10692         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10693         constant.
10694         (amd64_x32_init_abi): Likewise.
10695         * amd64-tdep.h (amd64_init_abi): Update declaration.
10696         (amd64_x32_init_abi): Likewise.
10698 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10700         PR tdep/21717
10701         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10702         condition for FPSCR.
10703         (arm_linux_store_inferior_registers): Likewise.
10705 2017-07-22  Tom Tromey  <tom@tromey.com>
10707         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10708         <syscalls_counts>: Now a std::vector.
10709         (get_catch_syscall_inferior_data): Use "new".
10710         (catch_syscall_inferior_data_cleanup): Use "delete".
10711         (insert_catch_syscall, remove_catch_syscall)
10712         (clear_syscall_counts): Update.
10714 2017-07-22  Tom Tromey  <tom@tromey.com>
10716         * break-catch-syscall.c (syscall_catchpoint)
10717         <syscalls_to_be_caught>: Now a std::vector<int>
10718         (~syscall_catchpoint): Remove.
10719         (insert_catch_syscall, remove_catch_syscall)
10720         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10721         (print_mention_catch_syscall, print_recreate_catch_syscall):
10722         Update.
10723         (create_syscall_event_catchpoint): Change type of "filter"
10724         parameter.
10725         (catch_syscall_split_args): Return a std::vector.
10726         (catch_syscall_command_1, catching_syscall_number_1): Update.
10728 2017-07-22  Tom Tromey  <tom@tromey.com>
10730         * break-catch-throw.c (struct exception_catchpoint)
10731         <exception_rx>: Now a std::string.
10732         (~exception_catchpoint): Remove.
10733         (print_one_detail_exception_catchpoint): Update.
10734         (handle_gnu_v3_exceptions): Change type of except_rx.
10735         (extract_exception_regexp): Return a std::string.
10736         (catch_exception_command_1): Update.
10738 2017-07-22  Tom Tromey  <tom@tromey.com>
10740         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10741         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10742         std::vector.
10743         <catch_all>: Now a bool.
10744         (~signal_catchpoint): Remove.
10745         (signal_catchpoint_insert_location)
10746         (signal_catchpoint_remove_location)
10747         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10748         (signal_catchpoint_print_mention)
10749         (signal_catchpoint_print_recreate)
10750         (signal_catchpoint_explains_signal): Update.
10751         (create_signal_catchpoint): Change type of "filter" and
10752         "catch_all".
10753         (catch_signal_split_args): Return a std::vector.  Change type of
10754         "catch_all".
10755         (catch_signal_command): Update.
10757 2017-07-20  Pedro Alves  <palves@redhat.com>
10759         * ada-lang.c (ada_language_defn): Make extern.
10760         (_initialize_ada_language): Remove add_language call.
10761         * c-lang.c (c_language_defn, cplus_language_defn)
10762         (asm_language_defn, minimal_language_defn): Make extern.
10763         (_initialize_c_language): Delete.
10764         * completer.c (compare_cstrings): Delete, moved to utils.h.
10765         * d-lang.c (d_language_defn): Make extern.
10766         (_initialize_d_language): Remove add_language calls.
10767         * defs.h (enum language): Add comment.
10768         * f-lang.c (f_language_defn): Make extern.
10769         (_initialize_f_language): Remove add_language call.
10770         * go-lang.c (go_language_defn): Make extern.
10771         (_initialize_go_language): Remove add_language call.
10772         * language.c: Include <algorithm>.
10773         (languages): Redefine as const array.
10774         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10775         (set_language_command): Handle "local".  Use for-range loop.
10776         (set_language): Remove loop.
10777         (language_enum): Rewrite.
10778         (language_def, language_str): Remove loops.
10779         (add_language): Delete.
10780         (add_set_language_command): New, based on add_languages.
10781         (skip_language_trampoline): Adjust.
10782         (local_language_defn): Delete.
10783         (language_gdbarch_post_init): Adjust.
10784         (_initialize_language): Remove add_language calls.  Call
10785         add_set_language_command.
10786         * language.h (add_language): Delete.
10787         (auto_language_defn)
10788         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10789         (asm_language_defn, c_language_defn, cplus_language_defn)
10790         (d_language_defn, f_language_defn, go_language_defn)
10791         (m2_language_defn, objc_language_defn, opencl_language_defn)
10792         (pascal_language_defn, rust_language_defn): Declare.
10793         * m2-lang.c (m2_language_defn): Make extern.
10794         (_initialize_m2_language): Remove add_language call.
10795         * objc-lang.c (objc_language_defn): Make extern.
10796         (_initialize_objc_language): Remove add_language call.
10797         * opencl-lang.c (opencl_language_defn): Make extern.
10798         (_initialize_opencl_language): Remove add_language call.
10799         * p-lang.c (pascal_language_defn): Make extern.
10800         (_initialize_pascal_language): Delete.
10801         * rust-lang.c (rust_language_defn): Make extern.
10802         (_initialize_rust_language): Delete.
10803         * utils.h (compare_cstrings): New static inline function.
10805 2017-07-20  Pedro Alves  <palves@redhat.com>
10807         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10808         (get_var_value): Constify parameters.
10809         (get_int_var_value): Change prototype.
10810         (to_fixed_range_type): Adjust.
10811         * ada-lang.h (get_int_var_value): Change prototype.
10813 2017-07-20  Pedro Alves  <palves@redhat.com>
10815         * dwarf2read.c (dw2_lookup_symbol): Use
10816         SYMBOL_MATCHES_SEARCH_NAME.
10817         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10819 2017-07-20  Pedro Alves  <palves@redhat.com>
10821         * block.c (block_iter_name_step, block_iter_name_first)
10822         (block_iter_name_next): Delete.
10823         (block_lookup_symbol_primary): Adjust to use
10824         dict_iter_match_first/dict_iter_match_next.
10825         * block.h (block_iter_name_first, block_iter_name_next): Delete
10826         declarations.
10827         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10828         dict_iter_match_first/dict_iter_match_next.
10830 2017-07-20  Pedro Alves  <palves@redhat.com>
10832         * cp-support.c (cp_find_first_component_aux): Add missing case for
10833         end of string.
10835 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10837         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10838         of dwo_cu's dwo_file.
10840 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10842         * remote.c (store_registers_using_G): Remove one line comment.
10844 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10846         * regcache.c (regcache_cpy): Simplify it.
10847         (regcache::cpy_no_passthrough): Remove it.
10848         * regcache.h (cpy_no_passthrough): Remove it.
10849         (regcache_dup, regcache_cpy): Update comments.
10851 2017-07-18  Pedro Alves  <palves@redhat.com>
10853         * remote-sim.c (sim_command_completer): Adjust to work with a
10854         completion_tracker instead of a VEC.
10856 2017-07-17  Pedro Alves  <palves@redhat.com>
10858         * completer.c (complete_source_filenames): New function.
10859         (complete_address_and_linespec_locations): New function.
10860         (location_completer): Use complete_address_and_linespec_locations.
10861         (completion_tracker::build_completion_result): Honor the tracker's
10862         request to suppress append.
10863         * completer.h (completion_tracker::suppress_append_ws)
10864         (completion_tracker::set_suppress_append_ws): New methods.
10865         (completion_tracker::m_suppress_append_ws): New field.
10866         (complete_source_filenames): New declaration.
10867         * linespec.c (linespec_complete_what): New.
10868         (struct ls_parser) <complete_what, completion_word,
10869         completion_quote_char, completion_quote_end, completion_tracker>:
10870         New fields.
10871         (string_find_incomplete_keyword_at_end): New.
10872         (linespec_lexer_lex_string): Record quote char.  If in completion
10873         mode, don't throw.
10874         (linespec_lexer_consume_token): Advance the completion word point.
10875         (linespec_lexer_peek_token): Save/restore completion info.
10876         (save_stream_and_consume_token): New.
10877         (set_completion_after_number): New.
10878         (linespec_parse_basic): Set what to complete next depending on
10879         token.  Handle function and label completions specially.
10880         (parse_linespec): Disable objc shortcut in completion mode.  Set
10881         what to complete next depending on token type.  Skip keyword if in
10882         completion mode.
10883         (complete_linespec_component, linespec_complete): New.
10884         * linespec.h (linespec_complete): Declare.
10886 2017-07-17  Pedro Alves  <palves@redhat.com>
10888         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10889         Handle 'operator<' / 'operator<<'.
10891 2017-07-17  Pedro Alves  <palves@redhat.com>
10893         * completer.c (collect_explicit_location_matches): Handle
10894         MATCH_LABEL.
10895         (convert_explicit_location_to_linespec): New, factored out from
10896         ...
10897         (convert_explicit_location_to_sals): ... this.
10898         (complete_label): New.
10899         (linespec_complete_label, find_label_symbols_in_block): New.
10900         (find_label_symbols): Add completion_mode parameter and adjust to
10901         call find_label_symbols_in_block.
10902         * linespec.h (linespec_complete_label): Declare.
10904 2017-07-17  Pedro Alves  <palves@redhat.com>
10906         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10907         complete_symbol_mode parameter.
10908         * cli/cli-cmds.c (complete_command): Get the completion result out
10909         of the handle_brkchars tracker if used a custom word point.
10910         * completer.c: Include "linespec.h".
10911         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10912         (advance_to_expression_complete_word_point): New.
10913         (completion_tracker::completes_to_completion_word): New.
10914         (complete_files_symbols): Pass down
10915         complete_symbol_mode::EXPRESSION.
10916         (explicit_options, probe_options): New.
10917         (collect_explicit_location_matches): Complete on the
10918         explictit_loc->foo instead of word.  Use
10919         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10920         keyword and options completions.
10921         (backup_text_ptr): Delete.
10922         (skip_keyword): New.
10923         (complete_explicit_location): Remove 'word' parameter.  Add
10924         language, quoted_arg_start and quoted_arg_end parameters.
10925         Rewrite, parsing left to right.
10926         (location_completer): Rewrite.
10927         (location_completer_handle_brkchars): New function.
10928         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10929         (enum complete_line_internal_reason): Adjust comments.
10930         (completion_tracker::discard_completions): New.
10931         (completer_handle_brkchars_func_for_completer): Handle
10932         location_completer.
10933         (gdb_custom_word_point_brkchars)
10934         (gdb_org_rl_basic_quote_characters): New.
10935         (gdb_completion_word_break_characters_throw)
10936         (completion_find_completion_word): Handle trackers that use a
10937         custom word point.
10938         (completion_tracker::advance_custom_word_point_by): New.
10939         (completion_tracker::build_completion_result): Don't rely on
10940         readline appending the quote char.
10941         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10942         use a custom word point.
10943         (gdb_rl_attempted_completion_function): Restore
10944         rl_basic_quote_characters.
10945         * completer.h (class completion_tracker): Extend intro comment.
10946         (completion_tracker::set_quote_char)
10947         (completion_tracker::quote_char)
10948         (completion_tracker::set_use_custom_word_point)
10949         (completion_tracker::use_custom_word_point)
10950         (completion_tracker::custom_word_point)
10951         (completion_tracker::set_custom_word_point)
10952         (completion_tracker::advance_custom_word_point_by)
10953         (completion_tracker::completes_to_completion_word)
10954         (completion_tracker::discard_completions): New methods.
10955         (completion_tracker::m_quote_char)
10956         (completion_tracker::m_use_custom_word_point)
10957         (completion_tracker::m_custom_word_point): New fields.
10958         (advance_to_expression_complete_word_point): Declare.
10959         * f-lang.c (f_collect_symbol_completion_matches): Add
10960         complete_symbol_mode parameter.
10961         * language.h (struct language_defn)
10962         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10963         parameter.
10964         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10965         (linespec_complete_function): New function.
10966         (linespec_lexer_lex_keyword): Adjust.
10967         * linespec.h (linespec_keywords, linespec_complete_function): New
10968         declarations.
10969         * location.c (find_end_quote): New function.
10970         (explicit_location_lex_one): Add explicit_completion_info
10971         parameter.  Save quoting info.  Don't throw if being called for
10972         completion.  Don't handle Ada operators here.
10973         (is_cp_operator, skip_op_false_positives, first_of)
10974         (explicit_location_lex_one_function): New function.
10975         (string_to_explicit_location): Replace 'dont_throw' parameter with
10976         an explicit_completion_info pointer parameter.  Handle it.  Don't
10977         use explicit_location_lex_one to lex function names.  Use
10978         explicit_location_lex_one_function instead.
10979         * location.h (struct explicit_completion_info): New.
10980         (string_to_explicit_location): Replace 'dont_throw' parameter with
10981         an explicit_completion_info pointer parameter.
10982         * symtab.c (default_collect_symbol_completion_matches_break_on):
10983         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10984         (default_collect_symbol_completion_matches)
10985         (collect_symbol_completion_matches): Add complete_symbol_mode
10986         parameter.
10987         (collect_symbol_completion_matches_type): Pass down
10988         complete_symbol_mode::EXPRESSION.
10989         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10990         parameter.  Handle LINESPEC mode.
10991         * symtab.h (complete_symbol_mode): New.
10992         (default_collect_symbol_completion_matches_break_on)
10993         (default_collect_symbol_completion_matches)
10994         (collect_symbol_completion_matches)
10995         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10996         parameter.
10998 2017-07-17  Pedro Alves  <palves@redhat.com>
11000         * utils.c (enum class strncmp_iw_mode): New.
11001         (strcmp_iw): Rename to ...
11002         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
11003         parameters.  Handle them.
11004         (strncmp_iw): New.
11005         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
11006         * utils.h (strncmp_iw): Declare.
11007         (strcmp_iw): Move describing comments here.
11009 2017-07-17  Pedro Alves  <palves@redhat.com>
11011         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
11012         CP_OPERATOR_STR.
11013         * c-typeprint.c (is_type_conversion_operator): Use
11014         CP_OPERATOR_STR.
11015         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
11016         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
11017         CP_OPERATOR_LEN.
11018         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
11019         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
11020         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
11021         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
11022         CP_OPERATOR_STR.
11023         * location.c: Include "cp-support.h".
11024         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
11025         CP_OPERATOR_STR.
11026         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
11027         CP_OPERATOR_LEN.
11029 2017-07-17  Pedro Alves  <palves@redhat.com>
11031         * cli/cli-cmds.c (complete_command): Use a completion tracker
11032         along with completion_find_completion_word for handle_brkchars
11033         phase.
11034         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
11035         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
11036         (struct gdb_rl_completion_word_info): New.
11037         (gdb_rl_find_completion_word): New.
11038         (completion_find_completion_word): New.
11039         * completer.h (completion_find_completion_word): Declare.
11041 2017-07-17  Pedro Alves  <palves@redhat.com>
11043         * ada-lang.c (symbol_completion_match): Adjust comments.
11044         (symbol_completion_add): Replace vector parameter with
11045         completion_tracker parameter.  Use it.
11046         (ada_make_symbol_completion_list): Rename to...
11047         (ada_collect_symbol_completion_matches): ... this.  Add
11048         completion_tracker parameter and use it.
11049         (ada_language_defn): Adjust.
11050         * break-catch-syscall.c (catch_syscall_completer): Adjust
11051         prototype and work with completion_tracker instead of VEC.
11052         * breakpoint.c (condition_completer): Adjust prototype and work
11053         with completion_tracker instead of VEC.
11054         * c-lang.c (c_language_defn, cplus_language_defn)
11055         (asm_language_defn, minimal_language_defn): Adjust to renames.
11056         * cli/cli-cmds.c (complete_command): Rework using
11057         completion_tracker.  Catch exceptions when completing.
11058         * cli/cli-decode.c (integer_unlimited_completer)
11059         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
11060         with completion_tracker instead of VEC.
11061         * command.h (struct completion_tracker): Forward declare.
11062         (completer_ftype, completer_handle_brkchars_ftype): Change
11063         types.
11064         (complete_on_cmdlist, complete_on_enum): Adjust.
11065         * completer.c: Include <algorithm>.
11066         (struct gdb_completer_state): New.
11067         (current_completion): New global.
11068         (readline_line_completion_function): Delete.
11069         (noop_completer, filename_completer)
11070         (filename_completer_handle_brkchars, complete_files_symbols)
11071         (linespec_location_completer): Adjust to work with a
11072         completion_tracker instead of a VEC.
11073         (string_or_empty): New.
11074         (collect_explicit_location_matches): Adjust to work with a
11075         completion_tracker instead of a VEC.
11076         (explicit_location_completer): Rename to ...
11077         (complete_explicit_location): ... this and adjust to work with a
11078         completion_tracker instead of a VEC.
11079         (location_completer): Adjust to work with a completion_tracker
11080         instead of a VEC.
11081         (add_struct_fields): Adjust to work with a completion_list instead
11082         of VEC.
11083         (expression_completer): Rename to ...
11084         (complete_expression): ... this and adjust to work with a
11085         completion_tracker instead of a VEC.  Use complete_files_symbols.
11086         (expression_completer): Reimplement on top of complete_expression.
11087         (symbol_completer): Adjust to work with a completion_tracker
11088         instead of a VEC.
11089         (enum complete_line_internal_reason): Add describing comments.
11090         (complete_line_internal_normal_command): Adjust to work with a
11091         completion_tracker instead of a VEC.
11092         (complete_line_internal): Rename to ...
11093         (complete_line_internal_1): ... this and adjust to work with a
11094         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
11095         handle_brkchars phase.
11096         (new_completion_tracker): Delete.
11097         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
11098         complete_line_internal_1.
11099         (free_completion_tracker): Delete.
11100         (INITIAL_COMPLETION_HTAB_SIZE): New.
11101         (completion_tracker::completion_tracker)
11102         (completion_tracker::~completion_tracker): New.
11103         (maybe_add_completion): Delete.
11104         (completion_tracker::maybe_add_completion)
11105         (completion_tracker::add_completion)
11106         (completion_tracker::add_completions): New.
11107         (throw_max_completions_reached_error): Delete.
11108         (complete_line): Adjust to work with a completion_tracker instead
11109         of a VEC.  Don't create a completion_tracker_t or check for max
11110         completions here.
11111         (command_completer, command_completer_handle_brkchars)
11112         (signal_completer, reg_or_group_completer_1)
11113         (reg_or_group_completer, default_completer_handle_brkchars):
11114         Adjust to work with a completion_tracker.
11115         (gdb_completion_word_break_characters_throw): New.
11116         (gdb_completion_word_break_characters): Reimplement.
11117         (line_completion_function): Delete.
11118         (completion_tracker::recompute_lowest_common_denominator)
11119         (expand_preserving_ws)
11120         (completion_tracker::build_completion_result)
11121         (completion_result::completion_result)
11122         (completion_result::completion_result)
11123         (completion_result::~completion_result)
11124         (completion_result::completion_result)
11125         (completion_result::release_match_list, compare_cstrings)
11126         (completion_result::sort_match_list)
11127         (completion_result::reset_match_list)
11128         (gdb_rl_attempted_completion_function_throw)
11129         (gdb_rl_attempted_completion_function): New.
11130         * completer.h (completion_list, struct completion_result)
11131         (class completion_tracker): New.
11132         (complete_line): Add completion_tracker parameter.
11133         (readline_line_completion_function): Delete.
11134         (gdb_rl_attempted_completion_function): New.
11135         (noop_completer, filename_completer, expression_completer)
11136         (location_completer, symbol_completer, command_completer)
11137         (signal_completer, reg_or_group_completer): Update prototypes.
11138         (completion_tracker_t, new_completion_tracker)
11139         (make_cleanup_free_completion_tracker): Delete.
11140         (enum maybe_add_completion_enum): Delete.
11141         (maybe_add_completion): Delete.
11142         (throw_max_completions_reached_error): Delete.
11143         * corefile.c (complete_set_gnutarget): Adjust to work with a
11144         completion_tracker instead of a VEC.
11145         * cp-abi.c (cp_abi_completer): Adjust to work with a
11146         completion_tracker instead of a VEC.
11147         * d-lang.c (d_language_defn): Adjust.
11148         * disasm.c (disassembler_options_completer): Adjust to work with a
11149         completion_tracker instead of a VEC.
11150         * f-lang.c (f_make_symbol_completion_list): Rename to ...
11151         (f_collect_symbol_completion_matches): ... this.  Adjust to work
11152         with a completion_tracker instead of a VEC.
11153         (f_language_defn): Adjust.
11154         * go-lang.c (go_language_defn): Adjust.
11155         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
11156         Adjust to work with a completion_tracker instead of a VEC.
11157         * infrun.c (handle_completer): Likewise.
11158         * interps.c (interpreter_completer): Likewise.
11159         * interps.h (interpreter_completer): Likewise.
11160         * language.c (unknown_language_defn, auto_language_defn)
11161         (local_language_defn): Adjust.
11162         * language.h (language_defn::la_make_symbol_completion_list):
11163         Rename to ...
11164         (language_defn::la_collect_symbol_completion_matches): ... this
11165         and adjust to work with a completion_tracker instead of a VEC.
11166         * m2-lang.c (m2_language_defn): Adjust.
11167         * objc-lang.c (objc_language_defn): Adjust.
11168         * opencl-lang.c (opencl_language_defn): Adjust.
11169         * p-lang.c (pascal_language_defn): Adjust.
11170         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
11171         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
11172         with a completion_tracker.
11173         * rust-lang.c (rust_language_defn): Adjust.
11174         * symtab.c (free_completion_list, do_free_completion_list)
11175         (return_val, completion_tracker): Delete.
11176         (completion_list_add_name, completion_list_add_symbol)
11177         (completion_list_add_msymbol, completion_list_objc_symbol)
11178         (completion_list_add_fields, add_symtab_completions): Add
11179         completion_tracker parameter and use it.
11180         (default_make_symbol_completion_list_break_on_1): Rename to...
11181         (default_collect_symbol_completion_matches_break_on): ... this.
11182         Add completion_tracker parameter and use it instead of allocating
11183         a completion tracker here.
11184         (default_make_symbol_completion_list_break_on): Delete old
11185         implementation.
11186         (default_make_symbol_completion_list): Delete.
11187         (default_collect_symbol_completion_matches): New.
11188         (make_symbol_completion_list): Delete.
11189         (collect_symbol_completion_matches): New.
11190         (make_symbol_completion_type): Rename to ...
11191         (collect_symbol_completion_matches_type): ... this.  Add
11192         completion_tracker parameter and use it instead of VEC.
11193         (make_file_symbol_completion_list_1): Rename to...
11194         (collect_file_symbol_completion_matches): ... this.  Add
11195         completion_tracker parameter and use it instead of VEC.
11196         (make_file_symbol_completion_list): Delete.
11197         (add_filename_to_list): Use completion_list instead of a VEC.
11198         (add_partial_filename_data::list): Now a completion_list.
11199         (make_source_files_completion_list): Work with a completion_list
11200         instead of a VEC.
11201         * symtab.h: Include "completer.h".
11202         (default_make_symbol_completion_list_break_on)
11203         (default_make_symbol_completion_list, make_symbol_completion_list)
11204         (make_symbol_completion_type, make_file_symbol_completion_list)
11205         (make_source_files_completion_list): Delete.
11206         (default_collect_symbol_completion_matches_break_on)
11207         (default_collect_symbol_completion_matches)
11208         (collect_symbol_completion_matches)
11209         (collect_symbol_completion_matches_type)
11210         (collect_file_symbol_completion_matches)
11211         (make_source_files_completion_list): New.
11212         * top.c (init_main): Don't install a rl_completion_entry_function
11213         hook.  Install a rl_attempted_completion_function hook instead.
11214         * tui/tui-layout.c (layout_completer): Adjust to work with a
11215         completion_tracker.
11216         * tui/tui-regs.c (tui_reggroup_completer):
11217         * tui/tui-win.c (window_name_completer, focus_completer)
11218         (winheight_completer): Adjust to work with a completion_tracker.
11219         * value.c: Include "completer.h".
11220         (complete_internalvar): Adjust to work with a completion_tracker.
11221         * value.h (complete_internalvar): Likewise.
11223 2017-07-17  Pedro Alves  <palves@redhat.com>
11225         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
11226         renames.
11227         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
11228         comments to completer_ftype's declaration.
11229         <completer_handle_brkchars>: Change type to
11230         completer_handle_brkchars_ftype.
11231         * command.h (completer_ftype): Add describing comment and give
11232         names to parameters.
11233         (completer_ftype_void): Rename to ...
11234         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
11235         (set_cmd_completer_handle_brkchars): Adjust.
11236         * completer.c (filename_completer_handle_brkchars): New function.
11237         (complete_line_internal_normal_command): New function, factored
11238         out from ...
11239         (complete_line_internal): ... here.
11240         (command_completer_handle_brkchars)
11241         (default_completer_handle_brkchars)
11242         (completer_handle_brkchars_func_for_completer): New functions.
11243         * completer.h (set_gdb_completion_word_break_characters): Delete
11244         declaration.
11245         (completer_handle_brkchars_func_for_completer): New declaration.
11246         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
11247         completer_handle_brkchars_func_for_completer.
11249 2017-07-17  Pedro Alves  <palves@redhat.com>
11251         * completer.c (symbol_completer): New function, based on
11252         make_symbol_completion_list_fn.
11253         * completer.h (symbol_completer): New declaration.
11254         * guile/scm-cmd.c (cmdscm_completers): Adjust.
11255         * python/py-cmd.c (completers): Adjust.
11256         * symtab.c (make_symbol_completion_list_fn): Delete.
11257         * symtab.h (make_symbol_completion_list_fn): Delete.
11258         * cli/cli-decode.c (add_cmd): Adjust.
11260 2017-07-17  Pedro Alves  <palves@redhat.com>
11262         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
11263         * dwarf2read.c: Include "filename-seen-cache.h".
11264         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
11265         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
11266         * filename-seen-cache.c: New file.
11267         * filename-seen-cache.h: New file.
11268         * symtab.c: Include "filename-seen-cache.h".
11269         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
11270         (create_filename_seen_cache, clear_filename_seen_cache)
11271         (delete_filename_seen_cache, filename_seen): Delete, parts moved
11272         to filename-seen-cache.h/filename-seen-cache.c.
11273         (output_source_filename, sources_info)
11274         (maybe_add_partial_symtab_filename)
11275         (make_source_files_completion_list): Adjust to use
11276         filename_seen_cache.
11278 2017-07-17  Pedro Alves  <palves@redhat.com>
11280         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
11281         fields.
11282         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
11283         dwarf2_debug_sections*)): New.
11284         (dwarf2_per_objfile::dwarf2_per_objfile(const
11285         dwarf2_per_objfile&)): Declare as deleted.
11286         (dwarf2_per_objfile::operator=): Declare as deleted.
11287         (dwarf2_per_objfile::dwarf2_per_objfile)
11288         (dwarf2_per_objfile::~dwarf2_per_objfile)
11289         (dwarf2_per_objfile::free_cached_comp_units): New.
11290         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
11291         ctor.  Call dwarf2_per_objfile's ctor manually.
11292         (dwarf2_locate_sections): Deleted/refactored as ...
11293         (dwarf2_per_objfile::locate_sections): ... this new method.
11294         (free_cached_comp_units): Defer to
11295         dwarf2_per_objfile::free_cached_comp_units.
11296         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
11298 2017-07-14  Tom Tromey  <tom@tromey.com>
11300         PR rust/21764:
11301         * rust-exp.y (convert_ast_to_expression): Add "want_type"
11302         parameter.
11303         <UNOP_SIZEOF>: Split into separate case.
11304         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
11306 2017-07-14  Tom Tromey  <tom@tromey.com>
11308         PR rust/21763:
11309         * symtab.c (symbol_matches_domain): Add language_rust to special
11310         case.
11311         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
11312         treat LOC_TYPEDEF symbols as variables.
11314 2017-07-14  Pedro Alves  <palves@redhat.com>
11316         * symtab.c (make_file_symbol_completion_list_1): Iterate over
11317         symtabs matching all symtabs with SRCFILE as file name instead of
11318         only considering the first hit, with lookup_symtab.
11320 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11322         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
11323         operator_name parameters.
11324         (gen_expr): Update function call.
11326 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11328         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
11329         parameter.
11330         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
11331         Likewise.
11332         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
11333         parameter, use agent_expr::gdbarch instead, update function
11334         calls.
11335         (locexpr_tracepoint_var_ref): Likewise.
11336         (loclist_tracepoint_var_ref): Likewise.
11337         * ax-gdb.c (gen_trace_static_fields): Likewise.
11338         (gen_traced_pop): Likewise.
11339         (gen_frame_args_address): Likewise.
11340         (gen_frame_locals_address): Likewise.
11341         (gen_var_ref): Likewise.
11342         (gen_struct_ref_recursive): Likewise.
11343         (gen_static_field): Likewise.
11344         (gen_maybe_namespace_elt): Likewise.
11345         (gen_expr): Likewise.
11346         (gen_trace_for_var): Likewise.
11347         (gen_trace_for_expr): Likewise.
11348         (gen_trace_for_return_address): Likewise.
11350 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11352         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
11353         parameter.
11354         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11356 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11358         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11359         from ax, update calls.
11360         (gen_usual_arithmetic): Likewise.
11361         (gen_integral_promotions): Likewise.
11362         (gen_bitfield_ref): Likewise.
11363         (gen_primitive_field): Likewise.
11364         (gen_struct_ref_recursive): Likewise.
11365         (gen_struct_ref): Likewise.
11366         (gen_maybe_namespace_elt): Likewise.
11367         (gen_struct_elt_for_reference): Likewise.
11368         (gen_namespace_elt): Likewise.
11369         (gen_aggregate_elt_ref): Likewise.
11370         (gen_expr): Get gdbarch from ax, update calls.
11371         (gen_expr_binop_rest): Likewise.
11373 2017-07-13  Pedro Alves  <palves@redhat.com>
11375         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11376         as default tdesc.
11377         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11378         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11379         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11380         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11381         tdep.
11382         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11383         Get final tdesc from the tdep.
11384         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11385         default tdesc.
11386         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11387         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11388         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11389         Use it as default tdesc.
11390         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11391         down to amd_init_abi.  No longer handle fallback tdesc here.
11392         * amd64-tdep.h (tdesc_x32): Declare.
11393         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11394         parameter.
11395         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11396         as default tdesc.
11398 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11400         * s390-linux-tdep.c (s390_process_record): Add support for
11401         instructions new in arch12.
11403 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11405         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11406         PT_GETFSBASE and PT_GETGSBASE.
11407         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11408         PT_SETGSBASE.
11410 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11412         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11413         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11414         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11415         those rules.
11416         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11417         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11418         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11419         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11420         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11421         * features/i386/amd64.xml: Add 64bit-segments.xml.
11422         * features/i386/amd64-avx-avx512.c: Regenerated.
11423         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11424         * features/i386/amd64-avx-mpx.c: Regenerated.
11425         * features/i386/amd64-avx.c: Regenerated.
11426         * features/i386/amd64-mpx.c: Regenerated.
11427         * features/i386/amd64.c: Regenerated.
11428         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11429         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11430         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11431         * regformats/i386/amd64-avx.dat: Regenerated.
11432         * regformats/i386/amd64-mpx.dat: Regenerated.
11433         * regformats/i386/amd64.dat: Regenerated.
11435 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11437         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11438         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11440 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11442         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11443         unsetenv.
11444         * gnulib/aclocal.m4: Regenerate.
11445         * gnulib/config.in: Regenerate.
11446         * gnulib/configure: Regenerate.
11447         * gnulib/import/Makefile.am: Regenerate.
11448         * gnulib/import/Makefile.in: Regenerate.
11449         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11450         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11451         * gnulib/import/m4/environ.m4: New file.
11452         * gnulib/import/m4/setenv.m4: New file.
11453         * gnulib/import/setenv.c: New file.
11454         * gnulib/import/unsetenv.c: New file.
11456 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11458         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11459         address when op is DW_OP_addr.
11461 2017-07-09  Tom Tromey  <tom@tromey.com>
11463         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11464         check and apply to outer type.
11466 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11468         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11469         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11470         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11471         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11473 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11475         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11477 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11479         * corelow.c (get_core_siginfo): Remove.
11480         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11481         instead of get_core_siginfo.
11482         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11483         * gdbarch.h: Re-generate.
11484         * gdbarch.c: Re-generate.
11485         * linux-tdep.c (linux_core_xfer_siginfo): New.
11486         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11488 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11490         * corelow.c (thread_section_name): Move to ...
11491         * gdbcore.h (thread_section_name): ... here.
11493 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11495         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11496         (struct siginfo32): New.
11497         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11498         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11499         via ptrace(PT_LWPINFO).
11501 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11503         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11504         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11505         (fbsd_get_siginfo_type): New.
11506         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11507         (_initialize_fbsd_tdep): New.
11509 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11511         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11512         a singular dwo_unit*) to support multiple CUs in the same way that
11513         multiple TUs are supported.
11514         (create_cus_hash_table): Replace create_dwo_cu with a function for
11515         parsing multiple CUs from a DWO file.
11516         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11517         create_dwo_cu.
11518         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11519         htab_find, rather than comparing the signature to a singleton CU in
11520         the dwo_file.
11522 2017-07-06  Pedro Alves  <palves@redhat.com>
11524         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11526 2017-07-04  Pedro Alves  <palves@redhat.com>
11528         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11529         * gdbtypes.h (TYPE_STATIC): Delete.
11530         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11531         is_synchronized, is_native>: Delete.
11532         <dummy>: Bump.
11533         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11534         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11535         (TYPE_FN_FIELD_ABSTRACT): Delete.
11537 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11539         * buffer.h (buffer_finish): Fix spelling mistakes.
11541 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11543         * .dir-locals.el: Automatically switch to C-style comments in
11544         versions of Emacs that support the feature.
11546 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11547             Pedro Alves  <palves@redhat.com>
11549         PR cli/21688
11550         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11551         (process_next_line): New variable 'inline_cmd'.
11552         Adjust 'if' clauses for "python", "compile" and "guile" to use
11553         'command_name_equals' and check for '!inline_cmd'.
11555 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11557         PR cli/21688
11558         * cli/cli-script.c (command_name_equals_not_inline): New function.
11559         (process_next_line): Adjust 'if' clauses for "python", "compile"
11560         and "guile" to use command_name_equals_not_inline.
11562 2017-06-29  Pedro Alves  <palves@redhat.com>
11564         * completer.c (expression_completer): Call
11565         linespec_location_completer instead of location_completer.
11567 2017-06-29  Pedro Alves  <palves@redhat.com>
11569         * completer.c (expression_completer): Remove code that recomputes
11570         'text' from 'word'.
11572 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11574         * regformats/regdat.sh: Generate code with
11575         "ifndef IN_PROCESS_AGENT".
11577 2017-06-28  Pedro Alves  <palves@redhat.com>
11579         * command.h: Include "common/scoped_restore.h".
11581 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11583         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11584         instead of obstack_grow.
11586 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11588         PR gdb/21337
11589         * symfile.c (reread_symbols): Call objfiles_changed just before
11590         read_symbols.
11592 2017-06-27  Pedro Alves  <palves@redhat.com>
11594         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11595         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11596         (completion_list_add_symbol, completion_list_add_msymbol):
11597         ... these new functions.
11598         (add_symtab_completions)
11599         (default_make_symbol_completion_list_break_on_1): Adjust.
11601 2017-06-27  Pedro Alves  <palves@redhat.com>
11603         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11604         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11605         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11606         dtor.
11607         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11608         'storage_obstack' field an auto_obstack.  In-class initialize all
11609         non-bitfield fields.  Make minsyms_read bool.
11610         * symfile.c (read_symbols): Adjust.
11612 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11614         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11615         (gdbsim_store_register): Likewise.
11617 2017-06-27  Pedro Alves  <palves@redhat.com>
11619         * c-exp.y (name_obstack): Now an auto_obstack.
11620         (yylex): Use auto_obstack::clear.
11621         (c_parse): Use auto_obstack::clear instead of reinitializing and
11622         freeing the obstack.
11623         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11624         * d-exp.y (name_obstack): Now an auto_obstack.
11625         (yylex): Use auto_obstack::clear.
11626         (d_parse): Use auto_obstack::clear instead of reinitializing and
11627         freeing the obstack.
11628         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11629         auto_obstack.
11630         * dwarf2read.c (create_addrmap_from_index)
11631         (dwarf2_build_psymtabs_hard)
11632         (update_enumeration_type_from_children): Likewise.
11633         * gdb_obstack.h (auto_obstack): New type.
11634         * go-exp.y (name_obstack): Now an auto_obstack.
11635         (build_packaged_name): Use auto_obstack::clear.
11636         (go_parse): Use auto_obstack::clear instead of reinitializing and
11637         freeing the obstack.
11638         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11639         auto_obstack.
11640         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11641         * rust-exp.y (work_obstack): Now an auto_obstack.
11642         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11643         reinitializing and freeing the obstack.
11644         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11645         (host_char_to_target): Use auto_obstack.
11646         * utils.h (make_cleanup_obstack_free): Delete declaration.
11647         * valprint.c (generic_emit_char, generic_printstr): Use
11648         auto_obstack.
11650 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11652         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11653         thread.
11654         (darwin_init_thread_list): Don't update dummy thread.
11655         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11657 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11659         * record-full.c (netorder16): Remove.
11661 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11663         * common/diagnostics.h: Define macros for GCC.
11664         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11665         * common/vec.h: Include diagnostics.h.
11666         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11667         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11668         warning.
11670 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11672         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11673         New macro.
11674         * ada-lex.l: Ignore deprecated register warnings.
11676 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11678         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11679         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11681 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11683         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11684         its own line.
11686 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11688         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11690 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11692         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11693         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11694         (xtensa_register_read_masked): Likewise.
11696 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11698         * common/environ.c (gdb_environ::unset): Update comment.
11700 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11702         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11703         registers.
11705 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11707         * record-full.c (record_full_exec_insn): Use byte_vector.
11709 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11711         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11712         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11714 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11716         * remote.c (cached_reg): Move from here...
11717         * regcache.h (cached_reg): ...to here.
11718         * python/py-unwind.c (struct reg_info): Remove.
11719         (cached_frame_info): Use cached_reg_t.
11720         (pyuw_prev_register): Likewise.
11721         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11722         (pyuw_dealloc_cache): Free all registers.
11724 2017-06-22  Pedro Alves  <palves@redhat.com>
11725             Simon Marchi  <simon.marchi@ericsson.com>
11727         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11728         warning.
11729         * common/diagnostics.h: New file.
11731 2017-06-22  Pedro Alves  <palves@redhat.com>
11733         * common/agent.h: Add include guards.
11735 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11737         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11738         talk about addressable units instead of bytes.
11740 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11742         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11743         of '::const_iterator'.
11745 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11747         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11748         'unittests/environ-selftests.c'.
11749         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11750         * charset.c (find_charset_names): Declare object 'iconv_env'.
11751         Update code to use 'iconv_env' object.  Remove call to
11752         'free_environ'.
11753         * common/environ.c: Include <utility>.
11754         (make_environ): Delete function.
11755         (free_environ): Delete function.
11756         (gdb_environ::clear): New function.
11757         (gdb_environ::operator=): New function.
11758         (gdb_environ::get): Likewise.
11759         (environ_vector): Delete function.
11760         (set_in_environ): Delete function.
11761         (gdb_environ::set): New function.
11762         (unset_in_environ): Delete function.
11763         (gdb_environ::unset): New function.
11764         (gdb_environ::envp): Likewise.
11765         * common/environ.h: Include <vector>.
11766         (struct gdb_environ): Delete; transform into...
11767         (class gdb_environ): ... this class.
11768         (free_environ): Delete prototype.
11769         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11770         environ_vector): Likewise.
11771         * infcmd.c (run_command_1): Update code to call
11772         'envp' from 'gdb_environ' class.
11773         (environment_info): Update code to call methods from 'gdb_environ'
11774         class.
11775         (unset_environment_command): Likewise.
11776         (path_info): Likewise.
11777         (path_command): Likewise.
11778         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11779         (inferior::inferior): Initialize 'environment' using the host's
11780         information.
11781         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11782         Include "environ.h".
11783         (class inferior) <environment>: Change type from 'struct
11784         gdb_environ' to 'gdb_environ'.
11785         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11786         methods from 'gdb_environ' class.
11787         * solib.c (solib_find_1): Likewise
11788         * unittests/environ-selftests.c: New file.
11790 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11792         * features/i386/i386-linux.xml: Exchange the order of including
11793         32bit-linux.xml and 32bit-sse.xml.
11794         * features/i386/i386-linux.c: Regenerated.
11796 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11798         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11799         Delete copy ctor and assignment operator.
11800         (tdesc_type): Likewise.
11801         (tdesc_feature): Likewise.
11802         (tdesc_free_reg): Remove.
11803         (tdesc_create_reg): Use new.
11804         (tdesc_free_type): Remove.
11805         (tdesc_create_vector): Use new.
11806         (tdesc_create_union): Likewise.
11807         (tdesc_create_flags): Likewise.
11808         (tdesc_create_enum): Likewise.
11809         (tdesc_free_feature): Delete.
11810         (free_target_description): Use delete.
11812 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11814         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11815         registers.
11817 2017-06-19  Pedro Alves  <palves@redhat.com>
11819         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11820         after gdb::unlinker.
11822 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11824         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11825         gdb_environ to access an environment variable.
11827 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11829         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11830         gdb_byte*.
11832 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11834         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11836 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11838         * configure: Re-generate.
11839         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11841 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11843         * configure: Re-generate.
11844         * warning.m4: Pass -Werror to compiler when checking for
11845         supported warning flags.
11847 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11849         * Makefile.in (COMPILE.pre): Add "-x c++".
11851 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11852             Pedro Alves  <palves@redhat.com>
11853             Yao Qi  <yao.qi@linaro.org>
11855         * defs.h (RequireLongest): New.
11856         (extract_integer): Declare function template.
11857         (extract_signed_integer): Remove the declaration, but define it
11858         static inline.
11859         (extract_unsigned_integer): Likewise.
11860         (store_integer): Declare function template.
11861         (store_signed_integer): Remove the declaration, but define it
11862         static inline.
11863         (store_unsigned_integer): Likewise.
11864         * findvar.c (extract_integer): New function template.
11865         (extract_signed_integer): Remove.
11866         (extract_unsigned_integer): Remove.
11867         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11868         instantiations.
11869         (store_integer): New function template.
11870         (store_signed_integer): Remove.
11871         (store_unsigned_integer): Remove.
11872         (store_integer): Explicit instantiations.
11873         * regcache.c (regcache_raw_read_signed): Update.
11874         (regcache::raw_read): New function.
11875         (regcache::raw_read_signed): Remove.
11876         (regcache::raw_read_unsigned): Remove.
11877         (regcache_raw_read_unsigned): Update.
11878         (regcache_raw_write_unsigned): Update.
11879         (regcache::raw_write_signed): Remove.
11880         (regcache::raw_write): New function.
11881         (regcache_cooked_read_signed): Update.
11882         (regcache::raw_write_unsigned): Remove.
11883         (regcache::cooked_read_signed): Remove.
11884         (regcache_cooked_read_unsigned): Update.
11885         (regcache::cooked_read_unsigned): Remove.
11886         (regcache_cooked_write_signed): Update.
11887         (regcache_cooked_write_unsigned): Update.
11888         * regcache.h (regcache) <raw_read_signed>: Remove.
11889         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11890         <raw_read, raw_write>: New.
11891         <cooked_read_signed, cooked_write_signed>: Remove.
11892         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11893         <cooked_read, cooked_write>: New.
11894         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11895         (sh64_pseudo_register_write): Update.
11897 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11899         * arc-tdep.c (arc_disassembler_options): New variable.
11900         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11901         of default_print_insn.
11902         (arc_delayed_print_insn): Set info->section when needed,
11903         use default_print_insn to retrieve a disassembler.
11905 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11907         PR gdb/21574
11908         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11909         to mention $SHELL and startup-with-shell.
11911 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11913         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11915 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11917         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11918         default_print_insn instead of print_insn_aarch64.
11919         * arm-tdep.c (gdb_print_insn_arm): Call
11920         default_print_insn instead of print_insn_big_arm
11921         and print_insn_little_arm.
11922         * i386-tdep.c (i386_print_insn): Call default_print_insn
11923         instead of print_insn_i386.
11924         * ia64-tdep.c (ia64_print_insn): Call
11925         default_print_insn instead of print_insn_ia64.
11926         * mips-tdep.c (gdb_print_insn_mips): Call
11927         default_print_insn instead of print_insn_big_mips
11928         and print_insn_little_mips.
11929         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11930         instead of print_insn_spu.
11932 2017-06-14  Pedro Alves  <palves@redhat.com>
11934         * ada-lang.c: Include "common/byte-vector.h".
11935         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11936         * charset.c (wchar_iterator::iterate): Resize the vector instead
11937         of reserving it.
11938         * common/byte-vector.h: Include "common/def-vector.h".
11939         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11940         * cli/cli-dump.c: Include "common/byte-vector.h".
11941         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11942         * common/byte-vector.h: New file.
11943         * common/def-vector.h: New file.
11944         * common/default-init-alloc.h: New file.
11945         * dwarf2loc.c: Include "common/byte-vector.h".
11946         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11947         instead of reserving it.
11948         * dwarf2read.c: Include "common/byte-vector.h".
11949         (data_buf::m_vec): Now a gdb::byte_vector.
11950         * gdb_regex.c: Include "common/def-vector.h".
11951         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11952         * mi/mi-main.c: Include "common/byte-vector.h".
11953         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11954         * printcmd.c: Include "common/byte-vector.h".
11955         (print_scalar_formatted): Use gdb::byte_vector.
11956         * valprint.c: Include "common/byte-vector.h".
11957         (maybe_negate_by_bytes, print_decimal_chars): Use
11958         gdb::byte_vector.
11960 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11962         * darwin-nat.c: Include "nat/fork-inferior.h".
11964 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11966         * configure.nat: Factor out Darwin bits that are not
11967         architecture-specific.  Add fork-inferior.o.
11969 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11971         * configure.nat: Factor out AIX bits that are not
11972         architecture-specific.  Add fork-inferior.o.
11974 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11976         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11977         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11978         wrappers that just call rw_pieced_value.
11980 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11982         * dwarf2loc.c (write_pieced_value): When writing the data for a
11983         memory piece, use write_memory_with_notification instead of
11984         write_memory.
11986 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11988         * valops.c (read_value_memory): Change embedded_offset to
11989         represent a bit offset instead of a byte offset.
11990         * value.h (read_value_memory): Adjust comment.
11992 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11994         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11995         dest_offset_bits and source_offset_bits.
11996         (write_pieced_value): Likewise.
11998 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12000         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
12001         given by DW_OP_bit_piece.
12002         (write_pieced_value): Likewise.
12004 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12006         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
12007         some other preparations to the places where sufficient information
12008         is available.
12009         (write_pieced_value): Likewise.
12011 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12013         * dwarf2loc.c (bits_to_bytes): New function.
12014         (read_pieced_value): Fix offset calculations for register pieces
12015         on big-endian targets.
12016         (write_pieced_value): Likewise.
12018 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12020         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
12021         (write_pieced_value): Likewise.
12023 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12025         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
12026         transfer the source value's least significant bits, instead of its
12027         lowest-addressed ones.  Rename type_len to max_offset.
12028         (read_pieced_value): Mirror above changes to write_pieced_value as
12029         applicable.
12031 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12033         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
12034         truncate full bytes from dest_offset_bits before using it as an
12035         offset into the buffer.
12037 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12039         * dwarf2loc.c (write_pieced_value): Include transfer size in
12040         byte-wise check.
12042 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12044         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
12045         calculation of this_size.
12047 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12049         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
12050         when targeting a bit-field.
12051         (write_pieced_value): Likewise.
12053 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12055         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
12056         (allocate_piece_closure): Drop addr_size parameter.
12057         (dwarf2_evaluate_loc_desc_full): Adjust call to
12058         allocate_piece_closure.
12060 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12062         PR gdb/21226
12063         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
12064         the LSB end, independent of endianness.
12066 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12068         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
12069         size capping.
12071 2017-06-13  Yao Qi  <yao.qi@linaro.org>
12073         * mips-linux-nat.c: Move include features/mips*-linux.c to
12074         mips-linux-tdep.c.
12075         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
12076         to mips-linux-tdep.c.
12077         * mips-linux-tdep.c: Include features/mips*-linux.c
12078         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
12079         functions.
12080         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
12081         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
12082         (tdesc_mips64_dsp_linux): Declare.
12084 2017-06-12  Tom Tromey  <tom@tromey.com>
12086         * valprint.h (val_print_type_code_int): Remove.
12087         * valprint.c (generic_val_print_int): Always call
12088         val_print_scalar_formatted.
12089         (val_print_type_code_int): Remove.
12090         * printcmd.c (print_scalar_formatted): Handle options->format==0.
12091         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
12092         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
12093         * ada-valprint.c (ada_val_print_num): Use
12094         val_print_scalar_formatted.
12096 2017-06-12  Tom Tromey  <tom@tromey.com>
12098         * printcmd.c (print_scalar_formatted): Unify the two switches.
12099         Don't convert scalars to LONGEST.
12101 2017-06-12  Tom Tromey  <tom@tromey.com>
12103         PR exp/16225:
12104         * valprint.h (print_decimal_chars): Update.
12105         * valprint.c (maybe_negate_by_bytes): New function.
12106         (print_decimal_chars): Add "is_signed" argument.
12107         * printcmd.c (print_scalar_formatted): Update.
12109 2017-06-12  Tom Tromey  <tom@tromey.com>
12111         PR exp/16225:
12112         * valprint.h (print_binary_chars, print_hex_chars): Update.
12113         * valprint.c (val_print_type_code_int): Update.
12114         (print_binary_chars): Add "zero_pad" argument.
12115         (emit_octal_digit): New function.
12116         (print_octal_chars): Don't zero-pad.
12117         (print_decimal_chars): Likewise.
12118         (print_hex_chars): Add "zero_pad" argument.
12119         * sh64-tdep.c (sh64_do_fp_register): Update.
12120         * regcache.c (regcache::dump): Update.
12121         * printcmd.c (print_scalar_formatted): Update.
12122         * infcmd.c (default_print_one_register_info): Update.
12124 2017-06-12  Pedro Alves  <palves@redhat.com>
12125             Alan Hayward  <alan.hayward@arm.com>
12127         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
12128         (mips_eabi_push_dummy_call): Rename local 'regsize' to
12129         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
12130         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
12131         Assert that abi_regsize bytes fit in 'ref_valbuf'.
12133 2017-06-12  Pedro Alves  <palves@redhat.com>
12135         * dwarf2read.c (mapped_symtab::data): Now a vector of
12136         symtab_index_entry instead of vector of
12137         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
12138         whether an element's name is NULL instead of checking whether the
12139         element itself is NULL.
12140         (find_slot): Change return type.  Adjust.
12141         (hash_expand, , add_index_entry, uniquify_cu_indices)
12142         (write_hash_table): Adjust.
12144 2017-06-12  Pedro Alves  <palves@redhat.com>
12146         * dwarf2read.c (recursively_count_psymbols): New function.
12147         (write_psymtabs_to_index): Call it to compute number of psyms and
12148         pass estimate size of psyms_seen to unordered_set's ctor.
12150 2017-06-12  Pedro Alves  <palves@redhat.com>
12152         * dwarf2read.c (write_hash_table): Check if key already exists
12153         before emplacing.
12155 2017-06-12  Pedro Alves  <palves@redhat.com>
12157         * dwarf2read.c (data_buf::append_space): Rename to...
12158         (data_buf::grow): ... this, and make private.  Adjust all callers.
12159         (data_buf::append_uint): New method.
12160         (add_address_entry, write_one_signatured_type)
12161         (write_psymtabs_to_index): Use it.
12163 2017-06-12  Pedro Alves  <palves@redhat.com>
12165         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
12166         (file_write (FILE *, const std::vector<Elem>&)): Delete.
12167         (data_buf::file_write): Call ::fwrite directly.
12169 2017-06-12  Pedro Alves  <palves@redhat.com>
12171         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
12172         std::vector::erase.
12174 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
12176         Code cleanup: C++ify .gdb_index producer.
12177         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
12178         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
12179         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
12180         (create_strtab, add_string): Remove.
12181         (file_write, data_buf): New.
12182         (struct symtab_index_entry): Use std::vector for cu_indices.
12183         (struct mapped_symtab): Use std::vector for data.
12184         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
12185         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
12186         Remove.
12187         (find_slot): Change return type.  Update it to the new data structures.
12188         (hash_expand, add_index_entry): Update it to the new data structures.
12189         (offset_type_compare): Remove.
12190         (uniquify_cu_indices): Update it to the new data structures.
12191         (c_str_view, c_str_view_hasher, vector_hasher): New.
12192         (add_indices_to_cpool): Remove.
12193         (write_hash_table): Update it to the new data structures.
12194         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
12195         (eq_psymtab_cu_index): Remove.
12196         (psym_index_map): New typedef.
12197         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
12198         reference and std::unordered_map for cu_index_htab.
12199         (add_address_entry, add_address_entry_worker, write_address_map)
12200         (write_psymbols): Update it to the new data structures.
12201         (write_obstack): Remove.
12202         (struct signatured_type_index_data): Change types_list to a data_buf
12203         reference and psyms_seen to a std::unordered_set reference.
12204         (write_one_signatured_type, recursively_write_psymbols)
12205         (write_psymtabs_to_index): Update it to the new data structures.
12207 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
12209         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
12210         separate-debug-file commands.
12211         * symfile.h (separate_debug_file_debug): New global.
12212         * symfile.c (separate_debug_file_debug): New global.
12213         (separate_debug_file_exists, find_separate_debug_file): Add
12214         debug output.
12215         (_initialize_symfile): Add "set debug separate-debug-file"
12216         command.
12217         * build-id.c (build_id_to_debug_bfd,
12218         find_separate_debug_file_by_buildid): Add debug output.
12220 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
12222         * gdbarch.sh (displaced_step_free_closure): Remove.
12223         * gdbarch.h, gdbarch.c: Re-generate.
12224         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
12225         displaced_step_free_closure.
12226         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
12227         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
12228         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
12229         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
12230         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
12231         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12232         * arch-utils.h (simple_displaced_step_free_closure): Remove.
12233         * arch-utils.c (simple_displaced_step_free_closure): Remove.
12234         * infrun.c (displaced_step_clear): Call xfree instead of
12235         gdbarch_displaced_step_free_closure.
12237 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
12239         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
12240         NULL".
12242 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
12244         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
12245         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
12246         (mn10300_push_dummy_call): Likewise.
12248 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12250         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
12252 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12254         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
12256 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12258         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
12259         able to start inferiors using a shell.
12260         (New remote packets): Announce new packet "QStartupWithShell".
12261         * remote.c: Add PACKET_QStartupWithShell.
12262         (extended_remote_create_inferior): Handle new
12263         PACKET_QStartupWithShell.
12264         (remote_protocol_features) <QStartupWithShell>: New entry for
12265         PACKET_QStartupWithShell.
12266         (_initialize_remote): Call "add_packet_config_cmd" for
12267         QStartupShell.
12269 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12270             Pedro Alves  <palves@redhat.com>
12272         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
12273         and "nat/fork-inferior.h".
12274         * common/common-inferior.h: New file, with contents from
12275         "gdb/inferior.h".
12276         * commom/common-utils.c: Include "common-utils.h".
12277         (stringify_argv): New function.
12278         * common/common-utils.h (stringify_argv): New prototype.
12279         * configure.nat: Add "fork-inferior.o" as a dependency for
12280         "*linux*", "fbsd*" and "nbsd*" hosts.
12281         * corefile.c (get_exec_file): Update comment.
12282         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
12283         instead of "startup_inferior".
12284         (darwin_create_inferior): Call "add_thread_silent" after
12285         "fork_inferior".
12286         * fork-child.c: Cleanup unnecessary includes.
12287         (SHELL_FILE): Move to "common/common-fork-child.c".
12288         (environ): Likewise.
12289         (exec_wrapper): Initialize.
12290         (get_exec_wrapper): New function.
12291         (breakup_args): Move to "common/common-fork-child.c"; rename to
12292         "breakup_args_for_exec".
12293         (escape_bang_in_quoted_argument): Move to
12294         "common/common-fork-child.c".
12295         (saved_ui): New variable.
12296         (prefork_hook): New function.
12297         (postfork_hook): Likewise.
12298         (postfork_child_hook): Likewise.
12299         (gdb_startup_inferior): Likewise.
12300         (fork_inferior): Move to "common/common-fork-child.c".  Update
12301         function to support gdbserver.
12302         (startup_inferior): Likewise.
12303         * gdbcore.h (get_exec_file): Remove declaration.
12304         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
12305         instead of "startup_inferior".  Call "add_thread_silent" after
12306         "fork_inferior".
12307         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
12308         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
12309         instead of "startup_inferior".  Call "add_thread_silent" after
12310         "fork_inferior".
12311         * inferior.h: Include "common-inferior.h".
12312         (trace_start_error): Move to "common/common-utils.h".
12313         (trace_start_error_with_name): Likewise.
12314         (fork_inferior): Move prototype to "nat/fork-inferior.h".
12315         (startup_inferior): Likewise.
12316         (gdb_startup_inferior): New prototype.
12317         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
12318         * nat/fork-inferior.h: New file.
12319         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
12320         instead of "startup_inferior".  Call "add_thread_silent" after
12321         "fork_inferior".
12322         * target.h (target_terminal_init): Move prototype to
12323         "target/target.h".
12324         (target_terminal_inferior): Likewise.
12325         (target_terminal_ours): Likewise.
12326         * target/target.h (target_terminal_init): New prototype, moved
12327         from "target.h".
12328         (target_terminal_inferior): Likewise.
12329         (target_terminal_ours): Likewise.
12330         * utils.c (gdb_flush_out_err): New function.
12332 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12334         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
12335         * common/common-gdbthread.h: New file, with parts from
12336         "gdb/gdbthread.h".
12337         * gdbthread.h: Include "common-gdbthread.h".
12338         (switch_to_thread): Moved to "common/common-gdbthread.h".
12340 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12342         * Makefile.in (SFILES): Add "common/job-control.c".
12343         (HFILES_NO_SRCDIR): Add "common/job-control.h".
12344         (COMMON_OBS): Add "job-control.o".
12345         * common/job-control.c: New file, with contents from
12346         "gdb/inflow.c".
12347         * common/job-control.h: New file, with contents from "terminal.h".
12348         * fork-child.c: Include "job-control.h".
12349         * inflow.c: Include "job-control.h".
12350         (gdb_setpgid): Move to "common/common-inflow.c".
12351         (_initialize_inflow): Move setting of "job_control" to
12352         "handle_job_control".
12353         * terminal.h (job_control): Moved to "common/common-terminal.h".
12354         (gdb_setpgid): Likewise.
12355         * top.c: Include "job_control.h".
12356         * utils.c: Likewise.
12357         (job_control): Moved to "job-control.c".
12359 2017-06-07  Pedro Alves  <palves@redhat.com>
12361         * Makefile.in (SFILES): Add gdb_regex.c.
12362         (COMMON_OBS): Add gdb_regex.o.
12363         * ada-lang.c (ada_add_standard_exceptions)
12364         (ada_add_exceptions_from_frame, name_matches_regex)
12365         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12366         parameter type to compiled_regex.  Adjust.
12367         (ada_exceptions_list): Use compiled_regex.
12368         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12369         std::unique_ptr<compiled_regex>.
12370         (exception_catchpoint::~exception_catchpoint): Remove regfree
12371         call.
12372         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12373         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12374         * breakpoint.c (solib_catchpoint::compiled): Now a
12375         std::unique_ptr<compiled_regex>.
12376         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12377         (check_status_catch_solib): Adjust to use compiled_regex.
12378         (add_solib_catchpoint): Adjust to use compiled_regex.
12379         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12380         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12381         compiled_regex reference.  Adjust to use it.
12382         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12383         declaration.  Include "gdb_regex.h".
12384         (apropos_cmd): Change regex parameter to compiled_regex reference.
12385         * gdb_regex.c: New file.
12386         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12387         declarations.
12388         (class compiled_regex): New.
12389         * linux-tdep.c: Include "common/gdb_optional.h".
12390         (struct mapping_regexes): New, factored out from
12391         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12392         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12393         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12394         * probe.c: Include "common/gdb_optional.h".
12395         (collect_probes): Use compiled_regex and gdb::optional and remove
12396         cleanups.
12397         * skip.c: Include "common/gdb_optional.h".
12398         (skiplist_entry::compiled_function_regexp): Now a
12399         gdb::optional<compiled_regex>.
12400         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12401         (free_skiplist_entry): Remove regfree call.
12402         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12403         compiled_regex and gdb::optional.
12404         * symtab.c: Include "common/gdb_optional.h".
12405         (search_symbols): Use compiled_regex and gdb::optional.
12406         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12407         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12408         to gdb_regex.c.
12410 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12412         * regcache.c (regcache::save): Avoid buffer use.
12413         (regcache::dump): Likewise.
12415 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12417         * sh-tdep.c (sh_pseudo_register_read): Remove
12418         MAX_REGISTER_SIZE.
12419         (sh_pseudo_register_write): Likewise.
12420         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12421         (sh64_pseudo_register_write): Likewise
12423 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12425         * aarch64-tdep.c (aarch64_store_return_value): Use
12426         V_REGISTER_SIZE.
12427         (aarch64_pseudo_read_value): Likewise.
12428         (aarch64_pseudo_write): Likewise.
12430 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12432         * regformats/regdef.h (set_register_cache): Remove the
12433         declaration.
12435 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12437         * frame.c (frame_unwind_register_signed): Use
12438         frame_unwind_register_value.
12440 2017-06-06  Pedro Alves  <palves@redhat.com>
12442         PR breakpoints/21553
12443         * breakpoint.c (create_breakpoints_sal_default)
12444         (init_breakpoint_sal, create_breakpoint_sal): Use
12445         gdb::unique_xmalloc_ptr for string parameters.
12446         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12447         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12448         (base_breakpoint_create_breakpoints_sal)
12449         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12450         (strace_marker_create_breakpoints_sal)
12451         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12452         string parameters.
12453         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12454         gdb::unique_xmalloc_ptr for string parameters.
12455         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12456         parameters.
12458 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12460         * alpha-tdep.c (alpha_register_to_value): Use
12461         get_frame_register_value.
12462         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12464 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12466         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12467         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12468         (ia64_value_to_register): Likewise.
12469         (ia64_extract_return_value): Likewise.
12470         (ia64_store_return_value): Likewise.
12471         (ia64_push_dummy_call): Likewise.
12473 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12475         GDB 8.0 released.
12477 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12479         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12481 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12483         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12484         parameter.
12485         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12487 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12489         * event-loop.c (poll_timers): Unallocate timer using delete
12490         instead of xfree.
12492 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12494         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12495         (struct breakpoint) <~breakpoint>: New.
12496         (struct watchpoint): Inherit from breakpoint.
12497         <~watchpoint>: New.
12498         <base>: Remove.
12499         (struct tracepoint): Inherit from breakpoint.
12500         <base>: Remove.
12501         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12502         (struct longjmp_breakpoint): Inherit from breakpoint.
12503         <~longjmp_breakpoint>: New.
12504         <base>: Remove.
12505         (new_breakpoint_from_type): Remove casts.
12506         (watchpoint_in_thread_scope): Remove reference to base field.
12507         (watchpoint_del_at_next_stop): Likewise.
12508         (update_watchpoint): Likewise.
12509         (watchpoint_check): Likewise.
12510         (bpstat_check_watchpoint): Likewise.
12511         (set_longjmp_breakpoint): Likewise.
12512         (struct fork_catchpoint): Inherit from breakpoint.
12513         <base>: Remove.
12514         (struct solib_catchpoint): Inherit from breakpoint.
12515         <~solib_catchpoint>: New.
12516         <base>: Remove.
12517         (dtor_catch_solib): Change to ...
12518         (solib_catchpoint::~solib_catchpoint): ... this.
12519         (breakpoint_hit_catch_solib): Remove reference to base field.
12520         (add_solib_catchpoint): Likewise.
12521         (create_fork_vfork_event_catchpoint): Likewise.
12522         (struct exec_catchpoint): Inherit from breakpoint.
12523         <~exec_catchpoint>: New.
12524         <base>: Remove.
12525         (dtor_catch_exec): Change to ...
12526         (exec_catchpoint::~exec_catchpoint): ... this.
12527         (dtor_watchpoint): Change to ...
12528         (watchpoint::~watchpoint): ... this.
12529         (watch_command_1): Remove reference to base field.
12530         (catch_exec_command_1): Likewise.
12531         (base_breakpoint_dtor): Change to ...
12532         (breakpoint::~breakpoint): ... this.
12533         (base_breakpoint_ops): Remove dtor field value.
12534         (longjmp_bkpt_dtor): Change to ...
12535         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12536         (strace_marker_create_breakpoints_sal): Remove reference to base
12537         field.
12538         (delete_breakpoint): Don't manually call breakpoint destructor.
12539         (create_tracepoint_from_upload): Remove reference to base field.
12540         (trace_pass_set_count): Likewise.
12541         (initialize_breakpoint_ops): Don't initialize
12542         momentary_breakpoint_ops, don't set dtors.
12543         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12544         <~ada_catchpoint>: New.
12545         <base>: Remove.
12546         (create_excep_cond_exprs): Remove reference to base field.
12547         (dtor_exception): Change to ...
12548         (ada_catchpoint::~ada_catchpoint): ... this.
12549         (dtor_catch_exception): Remove.
12550         (dtor_catch_exception_unhandled): Remove.
12551         (dtor_catch_assert): Remove.
12552         (create_ada_exception_catchpoint): Remove reference to base
12553         field.
12554         (initialize_ada_catchpoint_ops): Don't set dtors.
12555         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12556         breakpoint.
12557         <~signal_catchpoint>: New.
12558         <base>: Remove.
12559         (signal_catchpoint_dtor): Change to ...
12560         (signal_catchpoint::~signal_catchpoint): ... this.
12561         (create_signal_catchpoint): Remove reference to base field.
12562         (initialize_signal_catchpoint_ops): Don't set dtor.
12563         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12564         from breakpoint.
12565         <~syscall_catchpoint>: New.
12566         <base>: Remove.
12567         (dtor_catch_syscall): Change to ...
12568         (syscall_catchpoint::~syscall_catchpoint): ... this.
12569         (create_syscall_event_catchpoint): Remove reference to base
12570         field.
12571         (initialize_syscall_catchpoint_ops): Don't set dtor.
12572         * break-catch-throw.c (struct exception_catchpoint): Inherit
12573         from breakpoint.
12574         <~exception_catchpoint>: New.
12575         <base>: Remove.
12576         (dtor_exception_catchpoint): Change to ...
12577         (exception_catchpoint::~exception_catchpoint): ... this.
12578         (handle_gnu_v3_exceptions): Remove reference to base field.
12579         (initialize_throw_catchpoint_ops): Don't set dtor.
12580         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12581         field.
12582         * remote.c (remote_get_tracepoint_status): Likewise.
12583         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12584         * tracefile.c (tracefile_fetch_registers): Likewise.
12585         * tracepoint.c (actions_command): Likewise.
12586         (validate_actionline): Likewise.
12587         (tfind_1): Likewise.
12588         (get_traceframe_location): Likewise.
12589         (find_matching_tracepoint_location): Likewise.
12590         (parse_tracepoint_status): Likewise.
12591         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12593 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12595         * breakpoint.c (struct longjmp_breakpoint): New struct.
12596         (is_tracepoint_type): Change return type to bool.
12597         (is_longjmp_type): New function.
12598         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12599         (set_raw_breakpoint_without_location): Use
12600         new_breakpoint_from_type.
12601         (set_raw_breakpoint): Likewise.
12603 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12605         * breakpoint.c (new_breakpoint_from_type): New function.
12606         (create_breakpoint_sal): Use new_breakpoint_from_type and
12607         unique_ptr.
12608         (create_breakpoint): Likewise.
12610 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12612         * memattr.c (mem_info_command): Rename to ...
12613         (info_mem_command): ... this.
12614         (mem_enable_command): Rename to ...
12615         (enable_mem_command): ... this.
12616         (mem_disable_command): Rename to ...
12617         (disable_mem_command): ... this.
12618         (mem_delete_command): Rename to ...
12619         (delete_mem_command): ... this.
12620         (_initialize_mem): Adjust function names.
12622 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12624         * btrace.c (handle_pt_insn_events): New.
12625         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12626         STATUS.  Split into this and ...
12627         (handle_pt_insn_event_flags): ... this.
12629 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12631         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12632         and struct pt_insn.resynced.
12633         * configure: Regenerated.
12634         * config.in: Regenerated.
12636 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12638         * btrace.c (ftrace_find_call_by_number): New function.
12639         (ftrace_new_function): Store objects, not pointers.
12640         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12641         ftrace_new_gap, ftrace_update_function,
12642         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12643         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12644         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12645         btrace_ends_with_single_insn, btrace_call_get): Account for
12646         btrace_thread_info::functions now storing objects.
12647         * btrace.h (struct btrace_thread_info): Add constructor.
12648         (struct btrace_thread_info) <functions>: Make std::vector.
12649         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12650         Initialize with default values.
12651         * record-btrace.c (record_btrace_frame_sniffer): Account for
12652         btrace_thread_info::functions now storing objects.
12654 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12656         * btrace.c: Remove typedef bfun_s.
12657         (ftrace_new_gap): Directly add gaps to the list of gaps.
12658         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12659         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12660         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12661         instead of gdb VEC.
12663 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12665         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12666         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12667         with btrace_thread_info::next_segment and
12668         btrace_thread_info::prev_segment.
12669         * btrace.h: Remove struct btrace_func_link.
12670         (struct btrace_function): Replace pair of function segment pointers
12671         with pair of indices.
12672         * python/py-record-btrace.c (btpy_call_prev_sibling,
12673         btpy_call_next_sibling): Replace references to
12674         btrace_thread_info::segment with btrace_thread_info::next_segment and
12675         btrace_thread_info::prev_segment.
12676         * record-btrace.c (record_btrace_frame_this_id): Use
12677         btrace_find_call_by_number.
12679 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12681         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12682         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12683         btrace_insn_next, btrace_insn_prev): Remove references to
12684         btrace_thread_info::flow.
12685         * btrace.h (struct btrace_function): Remove FLOW.
12687 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12689         * btrace.c (ftrace_find_call_by_number): New function.
12690         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12691         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12692         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12693         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12694         index.
12695         * btrace.h (struct btrace_function): Turn UP into an index.
12696         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12697         as an index.
12698         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12699         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12700         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12702 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12704         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12705         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12706         ftrace_update_function, ftrace_compute_global_level_offset,
12707         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12708         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12709         btrace_insn_end, btrace_is_empty): Remove references to
12710         btrace_thread_info::begin and btrace_thread_info::end.
12711         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12712         (struct btrace_thread_info) <functions>: Adjust comment.
12713         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12714         btrace_thread_info::begin.
12716 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12718         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12719         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12720         ftrace_update_function): Remove arguments that implicitly were always
12721         BTINFO->END.
12722         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12723         Don't pass BTINFO->END.
12725 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12727         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12728         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12729         btrace_find_insn_by_number): Replace function segment pointer with
12730         index.
12731         (btrace_insn_cmp): Simplify.
12732         * btrace.h: (struct btrace_insn_iterator) Rename index to
12733         insn_index.  Replace function segment pointer with index into function
12734         segment vector.
12735         * record-btrace.c (record_btrace_call_history): Replace function
12736         segment pointer use with index.
12737         (record_btrace_frame_sniffer): Retrieve function call segment through
12738         vector.
12739         (record_btrace_set_replay): Remove defunc't safety check.
12741 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12743         * btrace.c (btrace_ends_with_single_insn): New function.
12744         (btrace_call_get, btrace_call_number, btrace_call_begin,
12745         btrace_call_end, btrace_call_next, btrace_call_prev,
12746         btrace_find_call_by_number): Use index into call segment vector
12747         instead of pointer.
12748         (btrace_call_cmp): Simplify.
12749         * btrace.h (struct btrace_call_iterator): Replace function call segment
12750         pointer with index into vector.
12751         * record-btrace.c (record_btrace_call_history): Use index instead of
12752         pointer.
12754 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12756         * btrace.c (btrace_insn_begin, btrace_insn_end,
12757         btrace_find_insn_by_number): Add btinfo to iterator.
12758         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12760 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12762         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12763         and save pointers directly.
12764         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12765         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12766         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12767         changed signature of functions.
12768         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12769         (btrace_fetch): Remove code that adds btrace_function pointers to
12770         vector of btrace_functions.
12771         (btrace_clear): Simplify freeing vector of btrace_functions.
12773 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12775         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12776         Replace VEC_* with std::vector functions.
12777         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12778         (struct btrace_thread_info)<functions>: Change type to std::vector.
12780 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12782         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12783         "Removed targets and native configurations" up.  Merge duplicate
12784         "New commands" sub-sections.  Add "New options" sub-sections.
12786 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12788         * defs.h (copy_integer_to_size): New declaration.
12789         * findvar.c (copy_integer_to_size): New function.
12790         (do_cint_test): New selftest function.
12791         (copy_integer_to_size_test): Likewise.
12792         (_initialize_findvar): Likewise.
12793         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12794         (mips_fbsd_collect_reg): Use raw_collect_integer.
12795         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12796         (mips64_fill_gregset): Use raw_collect_integer
12797         (mips64_fill_fpregset): Use raw_supply_integer.
12798         * regcache.c (regcache::raw_supply_integer): New function.
12799         (regcache::raw_collect_integer): Likewise.
12800         * regcache.h: (regcache::raw_supply_integer): New declaration.
12801         (regcache::raw_collect_integer): Likewise.
12803 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12805         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12806         (COMMON_OBS): Add gdbarch-selftests.o.
12807         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12808         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12809         * gdbarch-selftests.c: New file.
12810         * regcache.h (regcache) <~regcache>: Mark it virtual if
12811         GDB_SELF_TEST.
12812         <raw_write>: Likewise.
12814 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12816         * regcache.c (current_regcache): Change it to
12817         regcache::current_regcache.
12818         (regcache_observer_target_changed): Update.
12819         (regcache_thread_ptid_changed): Make it a regcache static
12820         method.
12821         (regcache_thread_ptid_changed): Update.
12822         (class regcache_access): New.
12823         (current_regcache_test): Update.
12824         (_initialize_regcache): Update.
12825         * regcache.h: Include forward_list.
12826         (regcache): Declare regcache_thread_ptid_changed and declare
12827         registers_changed_ptid as friend.
12829 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12831         * i387-tdep.c (i387_register_to_value): Use register_size
12832         instead of TYPE_LENGTH.
12833         * m68k-tdep.c (m68k_register_to_value): Likewise.
12835 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12837         * i387-tdep.c (i387_convert_register_p): Return false if type
12838         code isn't TYPE_CODE_FLT.
12840 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12842         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12843         length is 4.
12844         (alpha_register_to_value): Remove type length check.
12845         (alpha_value_to_register): Likewise.
12847 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12849         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12850         TYPE_CODE_FLT.
12852 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12854         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12855         TYPE_CODE_FLT or not.
12857 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12859         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12860         * avr-tdep.c (avr_gdbarch_init): Likewise.
12861         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12862         * cris-tdep.c (cris_gdbarch_init): Likewise.
12863         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12864         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12865         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12866         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12867         * mep-tdep.c (mep_gdbarch_init): Likewise.
12868         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12869         * mips-tdep.c (mips_gdbarch_init): Likewise.
12870         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12871         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12872         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12873         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12874         * v850-tdep.c (v850_gdbarch_init): Likewise.
12876 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12878         * selftest-arch.c (tests_with_arch): Call registers_changed
12879         and reinit_frame_cache.
12880         * selftest.c (run_self_tests): Likewise.
12882 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12884         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12885         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12887 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12889         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12890         set_gdbarch_print_insn.
12892 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12894         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12895         set_gdbarch_print_insn.
12897 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12899         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12900         set_gdbarch_print_insn.
12901         * arc-tdep.c (arc_gdbarch_init): Likewise.
12902         * arch-utils.c: include dis-asm.h.
12903         (default_print_insn): New function.
12904         * arch-utils.h (default_print_insn): Declare.
12905         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12906         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12907         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12908         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12909         * frv-tdep.c (frv_gdbarch_init): Likewise.
12910         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12911         * gdbarch.sh (print_insn): Use default_print_insn.
12912         * gdbarch.c: Regenerated.
12913         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12914         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12915         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12916         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12917         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12918         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12919         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12920         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12921         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12922         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12923         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12924         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12925         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12926         * mt-tdep.c (mt_gdbarch_init): Likewise.
12927         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12928         * nios2-tdep.c (nios2_print_insn): Remove.
12929         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12930         * rx-tdep.c (rx_gdbarch_init): Likewise.
12931         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12932         * score-tdep.c (score_print_insn): Remove.
12933         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12934         * sh-tdep.c (sh_gdbarch_init): Likewise.
12935         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12936         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12937         * tic6x-tdep.c (tic6x_print_insn): Remove.
12938         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12939         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12940         * v850-tdep.c (v850_gdbarch_init): Likewise.
12941         * vax-tdep.c (vax_gdbarch_init): Likewise.
12942         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12943         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12945 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12947         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12948         (MIPS_FP0_REGNUM): Remove.
12949         (MIPS_FSR_REGNUM): Remove.
12950         (mips_fbsd_supply_fpregs): Use mips_regnum.
12951         (mips_fbsd_supply_gregs): Likewise.
12952         (mips_fbsd_collect_fpregs): Likewise.
12953         (mips_fbsd_collect_gregs): Likewise.
12955 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12957         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12958         (getpfpregs_supplies): New function.
12959         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12960         getfpregs_supplies.
12961         (mips_fbsd_store_inferior_registers): Likewise.
12963 2017-05-22  Pedro Alves <palves@redhat.com>
12965         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12966         maintainer.
12968 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12970         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12971         (store_register): Likewise.
12972         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12973         (get_decimal_float_return_value): Likewise.
12974         (do_ppc_sysv_return_value): Likewise.
12975         (ppc64_sysv_abi_push_integer): Likewise.
12976         (ppc64_sysv_abi_push_freg): Likewise.
12977         (ppc64_sysv_abi_return_value_base): Likewise.
12978         (ppc64_sysv_abi_return_value): Likewise.
12979         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12980         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12981         * rs6000-nat.c: Likewise.
12982         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12983         (rs6000_value_to_register): Likewise.
12984         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12986 2017-05-21  Tom Tromey  <tom@tromey.com>
12988         PR rust/21466:
12989         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12990         arrays as "[T]", not "[T; ]".
12992 2017-05-19  Tom Tromey  <tom@tromey.com>
12994         PR rust/21484:
12995         * rust-lang.c (exp_descriptor_rust): New function.
12996         (rust_language_defn): Use it.
12997         * p-lang.c (pascal_language_defn): Update.
12998         * opencl-lang.c (opencl_language_defn): Update.
12999         * objc-lang.c (objc_language_defn): Update.
13000         * m2-lang.c (m2_language_defn): Update.
13001         * language.h (struct language_defn)
13002         <la_watch_location_expression>: New member.
13003         * language.c (unknown_language_defn, auto_language_defn)
13004         (local_language_defn): Update.
13005         * go-lang.c (go_language_defn): Update.
13006         * f-lang.c (f_language_defn): Update.
13007         * d-lang.c (d_language_defn): Update.
13008         * c-lang.h (c_watch_location_expression): Declare.
13009         * c-lang.c (c_watch_location_expression): New function.
13010         (c_language_defn, cplus_language_defn, asm_language_defn)
13011         (minimal_language_defn): Use it.
13012         * breakpoint.c (watch_command_1): Call
13013         la_watch_location_expression.
13014         * ada-lang.c (ada_language_defn): Update.
13016 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13018         PR tui/21482
13019         * gdb_curses.h (NOMACROS): Define.
13020         (NCURSES_NOMACROS): Define.
13022 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13024         PR tui/21482
13025         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
13026         arg to char *.
13027         * tui/tui-wingeneral.c (box_win): Likewise.
13028         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
13029         (tui_show_source_line): Likewise.
13030         (tui_show_exec_info_content): Likewise.
13032 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
13034         * sparc-tdep.c (sparc_structure_return_p)
13035         (sparc_arg_on_registers_p): New functions.
13036         (sparc32_store_arguments): Use them.
13037         * sparc64-tdep.c (sparc64_16_byte_align_p)
13038         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
13039         Handle TYPE_CODE_ARRAY.
13041 2017-05-17  Yao Qi  <yao.qi@linaro.org>
13043         * cli/cli-decode.c (add_alias_cmd): New function.
13044         * command.h (add_alias_cmd): Declare.
13045         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
13046         instead call add_alias_cmd.
13048 2017-05-17  Pedro Alves  <palves@redhat.com>
13050         * Makefile.in (nat_extra_makefile_frag): Rename to ...
13051         (nat_makefile_frag): ... this.  All references updated.
13052         * configure.ac: Likewise.
13053         * configure.nat: Likewise.  Enhance comments.
13054         * configure: Regenerate.
13056 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13058         * procfs.c (procfs_create_inferior): Change prototype to match
13059         definition.
13061 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
13063         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
13064         C++ compiler warning.
13066 2017-05-12  Tom Tromey  <tom@tromey.com>
13068         PR rust/21483:
13069         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
13070         recurse, just call value_struct_elt directly.
13072 2017-05-12  Tom Tromey  <tom@tromey.com>
13074         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
13075         OP_RUST_ARRAY>: Fix.
13077 2017-05-12  Tom Tromey  <tom@tromey.com>
13079         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
13081 2017-05-09  Yao Qi  <yao.qi@linaro.org>
13083         * regcache.c: Include <forward_list>.
13084         (struct regcache_list): Remove.
13085         (current_regcache): Update.
13086         (get_thread_arch_aspace_regcache): Update for std::forward_list.
13087         (regcache_thread_ptid_changed): Likewise.
13088         (registers_changed_ptid): Likewise.
13089         (current_regcache_size): Likewise.
13091 2017-05-09  Yao Qi  <yao.qi@linaro.org>
13093         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
13094         (current_regcache_size): New function.
13095         (current_regcache_test): New function.
13096         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
13098 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
13100         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
13101         (print_gp_register_row): Use get_frame_register_value.
13103 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
13105         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
13106         (mips_supply_fpregset): Likewise.
13107         (mips64_supply_gregset): Likewise.
13109 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
13111         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
13112         regcache->raw_supply_zeroed.
13114 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
13116         * configure.nat: Rearrange 'case' statements to match
13117         host before cpu.
13119 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
13121         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
13122         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
13123         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
13124         "@nat_extra_makefile_frag@".
13125         (Makefile): Remove dependency on "@frags@".
13126         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
13127         (data-directory/Makefile): Likewise.
13128         * config/aarch64/linux.mh: Deleted; moved contents to
13129         "gdb/configure.nat".
13130         * config/alpha/alpha-linux.mh: Likewise.
13131         * config/alpha/nbsd.mh: Likewise.
13132         * config/arm/linux.mh: Likewise.
13133         * config/arm/nbsdelf.mh: Likewise.
13134         * config/i386/cygwin.mh: Likewise.
13135         * config/i386/cygwin64.mh: Likewise.
13136         * config/i386/darwin.mh: Likewise.
13137         * config/i386/fbsd.mh: Likewise.
13138         * config/i386/fbsd64.mh: Likewise.
13139         * config/i386/go32.mh: Likewise.
13140         * config/i386/i386gnu.mh: Likewise.
13141         * config/i386/i386sol2.mh: Likewise.
13142         * config/i386/linux.mh: Likewise.
13143         * config/i386/linux64.mh: Likewise.
13144         * config/i386/mingw.mh: Likewise.
13145         * config/i386/mingw64.mh: Likewise.
13146         * config/i386/nbsd64.mh: Likewise.
13147         * config/i386/nbsdelf.mh: Likewise.
13148         * config/i386/nto.mh: Likewise.
13149         * config/i386/obsd.mh: Likewise.
13150         * config/i386/obsd64.mh: Likewise.
13151         * config/i386/sol2-64.mh: Likewise.
13152         * config/ia64/linux.mh: Likewise.
13153         * config/m32r/linux.mh: Likewise.
13154         * config/m68k/linux.mh: Likewise.
13155         * config/m68k/nbsdelf.mh: Likewise.
13156         * config/m68k/obsd.mh: Likewise.
13157         * config/m88k/obsd.mh: Likewise.
13158         * config/mips/fbsd.mh: Likewise.
13159         * config/mips/linux.mh: Likewise.
13160         * config/mips/nbsd.mh: Likewise.
13161         * config/mips/obsd64.mh: Likewise.
13162         * config/pa/linux.mh: Likewise.
13163         * config/pa/nbsd.mh: Likewise.
13164         * config/pa/obsd.mh: Likewise.
13165         * config/powerpc/aix.mh: Likewise.
13166         * config/powerpc/fbsd.mh: Likewise.
13167         * config/powerpc/linux.mh: Likewise.
13168         * config/powerpc/nbsd.mh: Likewise.
13169         * config/powerpc/obsd.mh: Likewise.
13170         * config/powerpc/ppc64-linux.mh: Likewise.
13171         * config/powerpc/spu-linux.mh: Likewise.
13172         * config/s390/linux.mh: Likewise.
13173         * config/sh/nbsd.mh: Likewise.
13174         * config/sparc/fbsd.mh: Likewise.
13175         * config/sparc/linux.mh: Likewise.
13176         * config/sparc/linux64.mh: Likewise.
13177         * config/sparc/nbsd64.mh: Likewise.
13178         * config/sparc/nbsdelf.mh: Likewise.
13179         * config/sparc/obsd64.mh: Likewise.
13180         * config/sparc/sol2.mh: Likewise.
13181         * config/tilegx/linux.mh: Likewise.
13182         * config/vax/nbsdelf.mh: Likewise.
13183         * config/vax/obsd.mh: Likewise.
13184         * config/xtensa/linux.mh: Likewise.
13185         * config/i386/i386gnu.mn: New file, with excerpts from
13186         "config/i386/i386gnu.mh".
13187         * configure: Regenerate.
13188         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
13189         *.mh files under "gdb/config".
13190         * configure.nat: New file, with contents from the
13191         "gdb/config/*/*.mh" files.
13193 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
13195         * btrace.c (btrace_clear): Free insn vector.
13197 2017-05-05  Pedro Alves  <palves@redhat.com>
13199         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
13200         * configure: Regenerate.
13202 2017-05-04  Pedro Alves  <palves@redhat.com>
13204         * Makefile.in (SFILES): Add progspace-and-thread.c.
13205         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
13206         (COMMON_OBS): Add progspace-and-thread.o.
13207         * breakpoint.c: Include "progspace-and-thread.h".
13208         (update_inserted_breakpoint_locations)
13209         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
13210         Use scoped_restore_current_pspace_and_thread.
13211         (create_std_terminate_master_breakpoint): Use
13212         scoped_restore_current_program_space.
13213         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
13214         (print_breakpoint_location): Use
13215         scoped_restore_current_program_space.
13216         (bp_loc_is_permanent): Use
13217         scoped_restore_current_pspace_and_thread.
13218         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
13219         (download_tracepoint_locations): Use
13220         scoped_restore_current_pspace_and_thread.
13221         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
13222         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
13223         (enum step_over_calls_kind): Moved from inferior.h.
13224         (class scoped_restore_current_thread): New class.
13225         * gdbthread.h (make_cleanup_restore_current_thread): Delete
13226         declaration.
13227         (scoped_restore_current_thread): New class.
13228         * infcmd.c: Include "common/gdb_optional.h".
13229         (continue_1, proceed_after_attach): Use
13230         scoped_restore_current_thread.
13231         (notice_new_inferior): Use scoped_restore_current_thread.
13232         * inferior.c: Include "progspace-and-thread.h".
13233         (restore_inferior, save_current_inferior): Delete.
13234         (add_inferior_command, clone_inferior_command): Use
13235         scoped_restore_current_pspace_and_thread.
13236         * inferior.h (scoped_restore_current_inferior): New class.
13237         * infrun.c: Include "progspace-and-thread.h" and
13238         "common/gdb_optional.h".
13239         (follow_fork_inferior): Use
13240         scoped_restore_current_pspace_and_thread.
13241         (scoped_restore_exited_inferior): New class.
13242         (handle_vfork_child_exec_or_exit): Use
13243         scoped_restore_exited_inferior,
13244         scoped_restore_current_pspace_and_thread,
13245         scoped_restore_current_thread and scoped_restore.
13246         (fetch_inferior_event): Use scoped_restore_current_thread.
13247         * linespec.c (decode_line_full, decode_line_1): Use
13248         scoped_restore_current_program_space.
13249         * mi/mi-main.c: Include "progspace-and-thread.h".
13250         (exec_continue): Use scoped_restore_current_thread.
13251         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
13252         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
13253         * proc-service.c (ps_pglobal_lookup): Use
13254         scoped_restore_current_program_space.
13255         * progspace-and-thread.c: New file.
13256         * progspace-and-thread.h: New file.
13257         * progspace.c (release_program_space, clone_program_space): Use
13258         scoped_restore_current_program_space.
13259         (restore_program_space, save_current_program_space)
13260         (save_current_space_and_thread): Delete.
13261         (switch_to_program_space_and_thread): Moved to
13262         progspace-and-thread.c.
13263         * progspace.h (save_current_program_space)
13264         (save_current_space_and_thread): Delete declarations.
13265         (scoped_restore_current_program_space): New class.
13266         * remote.c (remote_btrace_maybe_reopen): Use
13267         scoped_restore_current_thread.
13268         * symtab.c: Include "progspace-and-thread.h".
13269         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
13270         * thread.c (print_thread_info_1): Use
13271         scoped_restore_current_thread.
13272         (struct current_thread_cleanup): Delete.
13273         (do_restore_current_thread_cleanup)
13274         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
13275         (scoped_restore_current_thread::~scoped_restore_current_thread):
13276         ... this new dtor.
13277         (make_cleanup_restore_current_thread): Rename/convert to ...
13278         (scoped_restore_current_thread::scoped_restore_current_thread):
13279         ... this new ctor.
13280         (thread_apply_all_command): Use scoped_restore_current_thread.
13281         (thread_apply_command): Use scoped_restore_current_thread.
13282         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
13283         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
13285 2017-05-04  Pedro Alves  <palves@redhat.com>
13287         * thread.c (make_cleanup_restore_current_thread): Move
13288         find_thread_ptid call before the is_stopped call.  Assert that the
13289         thread is found.  Replace is_stopped call by checking the thread's
13290         state directly.  Remove unnecessary NULL-thread check.
13292 2017-05-04  Pedro Alves  <palves@redhat.com>
13294         * corelow.c (thread_section_name): New class.
13295         (get_core_register_section, get_core_siginfo): Use it.
13297 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13299         * corelow.c (sniff_core_bfd): Remove extra semicolon.
13300         (get_core_register_section): Remove xfree of NULL pointer.
13302 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
13304         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
13305         * regcache.c (regcache::raw_supply_zeroed): New function.
13306         * regcache.h (regcache::raw_supply_zeroed): New declaration.
13308 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
13310         * gdbarch.sh: Remove commented out definition of
13311         TARGET_CHAR_BIT.
13312         * gdbarch.h: Re-generate.
13314 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
13316         * configure: Regenerate.
13318 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
13320         * solib-target.c (solib_target_relocate_section_addresses):
13321         Remove num_section_bases, num_bases, segment_bases variables.
13323 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13325         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
13327 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13329         * solib-target.c: Include <vector>
13330         (struct lm_info_target) <~lm_info_target>: Remove.
13331         <segment_bases, section_bases>: Change type to
13332         std::vector<CORE_ADDR>.
13333         (library_list_start_segment, library_list_start_section,
13334         library_list_end_library,
13335         solib_target_relocate_section_addresses): Adjust.
13337 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13339         * gdbarch.sh (software_single_step): Change return type to
13340         std::vector<CORE_ADDR>.
13341         * gdbarch.c, gdbarch.h: Re-generate.
13342         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
13343         Adjust.
13344         (arm_deal_with_atomic_sequence_raw): Adjust.
13345         (thumb_get_next_pcs_raw): Adjust.
13346         (arm_get_next_pcs_raw): Adjust.
13347         (arm_get_next_pcs): Adjust.
13348         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
13349         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
13350         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
13351         (alpha_software_single_step): Adjust.
13352         * alpha-tdep.h (alpha_software_single_step): Adjust.
13353         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13354         * arm-tdep.c (arm_software_single_step): Adjust.
13355         (arm_breakpoint_kind_from_current_state): Adjust.
13356         * arm-tdep.h (arm_software_single_step): Adjust.
13357         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13358         * cris-tdep.c (cris_software_single_step): Adjust.
13359         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13360         (micromips_deal_with_atomic_sequence): Adjust.
13361         (deal_with_atomic_sequence): Adjust.
13362         (mips_software_single_step): Adjust.
13363         * mips-tdep.h (mips_software_single_step): Adjust.
13364         * moxie-tdep.c (moxie_software_single_step): Adjust.
13365         * nios2-tdep.c (nios2_software_single_step): Adjust.
13366         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13367         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13368         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13369         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13370         * sparc-tdep.c (sparc_software_single_step): Adjust.
13371         * spu-tdep.c (spu_software_single_step): Adjust.
13372         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13374 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13376         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13377         * gdbarch.h: Re-generate.
13379 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13381         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13382         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13383         * python/py-instruction.c, python/py-instruction.h: New file.
13384         * python/py-record.c: Add py-instruction.h include.
13385         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13386         gdb.RecordInstruction.
13387         * python/python-internal.h: Add gdbpy_initialize_instruction
13388         declaration.
13389         * python/python.c (do_start_initialization): Add
13390         gdbpy_initialize_instruction.
13392 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13394         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13395         Remove.
13396         (btrace_func_from_recpy_func): New function.
13397         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13398         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13399         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13400         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13401         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13402         Also, use new helper functions.
13403         (btpy_list_item): Use new helper functions.
13404         (recpy_bt_function_call_history): Use new type name.
13405         (btpy_call_getset): Remove.
13406         (gdbpy_initialize_btrace): Remove code to initialize
13407         gdb.BtraceFunctionCall.
13408         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13409         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13410         recpy_bt_func_prev, recpy_bt_func_next): New export.
13411         * python/py-record.c (recpy_func_type): New static object.
13412         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13413         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13414         recpy_func_next): New function.
13415         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13416         (recpy_func_getset): New static object.
13417         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13418         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13420 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13422         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13423         (btpy_object, btpy_insn_type, btpy_new): Remove.
13424         (btpy_list_object): Use gdb.RecordInstruction type instead of
13425         gdb.BtraceInstruction type.
13426         (btrace_insn_from_recpy_insn): New function.
13427         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13428         btpy_new.
13429         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13430         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13431         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13432         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13433         instead of btpy_object.
13434         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13435         btpy_insn_data, btpy_insn_decode): Rename to ...
13436         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13437         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13438         recpy_bt_insn_decode): This.  Also, use new helper functions.
13439         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13440         recpy_insn_type.
13441         (btpy_insn_getset): Remove.
13442         (gdbpy_initialize_btrace): Remove code to initialize
13443         gdb.BtraceInstruction.  Use recpy_element_object.
13444         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13445         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13446         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13447         * python/py-record.c (recpy_insn_type): New static object.
13448         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13449         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13450         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13451         New function.
13452         (recpy_insn_getset): New static object.
13453         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13454         * python/py-record.h (recpy_element_object): New typedef.
13455         (recpy_insn_type, recpy_insn_new): New export.
13457 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13459         * py-record-btrace.c (btpy_insn_new): Removed.
13460         (btpy_insn_or_gap_new): New function.
13461         (btpy_insn_error): Removed.
13462         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13463         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13464         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13465         btpy_insn_or_gap_new instead of btpy_insn_new.
13466         (btpy_insn_getset): Remove btpy_insn_error.
13467         * py-record.c (recpy_gap_type): New static object.
13468         (recpy_gap_object): New typedef.
13469         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13470         recpy_gap_reason_string): New function.
13471         (recpy_gap_getset): New static object.
13472         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13473         * py-record.h (recpy_gap_new): New export.
13475 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13477         * python/py-record.c (recpy_ptid): Remove.
13478         (recpy_record_getset): Remove recpy_ptid.
13480 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13482         * btrace.c (btrace_fetch): Set inferior_ptid.
13483         * python/py-record-btrace.c: Add "py-record.h" include.
13484         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13485         recpy_bt_end, recpy_bt_instruction_history,
13486         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13487         in gdb.Record object instead of current ptid.
13488         * python/py-record.c: Include new "py-record.h" file.
13489         (recpy_record_object): Moved to py-record.h.
13490         * python/py-record.h: New file.
13492 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13494         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13495         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13496         indentation.
13498 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13500         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13501         the past maintainers section.
13503 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13505         * infcmd.c (get_return_value): Use regcache ctor, and remove
13506         cleanup.
13508 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13509             Pedro Alves  <palves@redhat.com>
13511         * regcache.c (regcache::regcache): New tag dispatch ctor.
13512         (do_cooked_read): Moved above.
13513         (regcache_dup): Use the tag dispatch ctor..
13514         * regcache.h (regcache): Declare ctor, delete copy ctor and
13515         assignment operator, remove friend regcache_dup.
13517 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13519         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13520         call method save instead of regcache_cpy.
13521         * regcache.h (struct regcache): Make regcache_dup a friend.
13523 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13525         * regcache.c (struct regcache): Move to regcache.h
13526         (regcache::arch): New method.
13527         (regcache_get_ptid): Update.
13528         (get_regcache_arch): Call arch method.
13529         (get_regcache_aspace): Call method aspace.
13530         (register_buffer): Change it to method.
13531         (regcache_save): Change it to regcache::save.
13532         (regcache_restore): Likewise.
13533         (regcache_cpy_no_passthrough): Remove the declaration.
13534         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13535         (regcache_cpy_no_passthrough): Change it to method
13536         cpy_no_passthrough.
13537         (regcache_register_status): Change it to method
13538         get_register_status.
13539         (regcache_invalidate): Change it to method invalidate.
13540         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13541         (regcache_raw_update): Change it to method raw_update.
13542         (regcache_raw_read): Likewise.
13543         (regcache_raw_read_signed): Likewise.
13544         (regcache_raw_read_unsigned): Likewise.
13545         (regcache_raw_write_signed): Likewise.
13546         (regcache_raw_write_unsigned): Likewise.
13547         (regcache_cooked_read): Likewise.
13548         (regcache_cooked_read_value): Likewise.
13549         (regcache_cooked_read_signed): Likewise.
13550         (regcache_cooked_read_unsigned): Likewise.
13551         (regcache_cooked_write_signed): Likewise.
13552         (regcache_cooked_write_unsigned): Likewise.
13553         (regcache_raw_set_cached_value): Likewise.
13554         (regcache_raw_write): Likewise.
13555         (regcache_cooked_write): Likewise.
13556         (regcache_xfer_part): Likewise.
13557         (regcache_raw_read_part): Likewise.
13558         (regcache_raw_write_part): Likewise.
13559         (regcache_cooked_read_part): Likewise.
13560         (regcache_cooked_write_part): Likewise.
13561         (regcache_raw_supply): Likewise.
13562         (regcache_raw_collect): Likewise.
13563         (regcache_transfer_regset): Likewise.
13564         (regcache_supply_regset): Likewise.
13565         (regcache_collect_regset): Likewise.
13566         (regcache_debug_print_register): Likewise.
13567         (enum regcache_dump_what): Move it to regcache.h.
13568         (regcache_dump): Change it to method dump.
13569         * regcache.h (enum regcache_dump_what): New.
13570         (class regcache): New.
13571         * target.c (target_fetch_registers): Call method
13572         debug_print_register.
13573         (target_store_registers): Likewise.
13575 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13577         * windows-nat.c (struct lm_info_windows): Initialize field.
13578         (windows_make_so): Allocate lm_info_windows with new.
13579         (windows_free_so): Free lm_info_windows with delete.
13581 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13583         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13584         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13585         cleanup.
13586         (darwin_free_so): Free lm_info_darwin with delete.
13588 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13590         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13591         <l_addr_p>: Change type to bool.
13592         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13593         (svr4_free_so): Free lm_info_svr4 with delete.
13594         (svr4_copy_library_list): Replace memcpy with call to copy
13595         constructor.
13596         (library_list_start_library, svr4_default_sos): Allocate
13597         lm_info_svr4 with new.
13599 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13601         * solib-target.c (struct lm_info_target): Add destructor,
13602         initialize fields.
13603         <name>: Change type to std::string.
13604         (library_list_start_library): Allocate lm_info_target with new.
13605         (solib_target_free_library_list): Free lm_info_target with
13606         delete.
13607         (solib_target_current_sos): Adapt to std::string.
13608         (solib_target_free_so): Free lm_info_target with delete.
13610 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13612         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13613         fields.
13614         (frv_current_sos): Allocate lm_info_frv with new.
13615         (frv_relocate_main_executable): Free lm_info_frv with delete,
13616         allocate with new.
13617         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13619 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13621         * solib-frv.c (struct lm_info_frv): Fix indentation.
13623 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13625         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13626         map field.
13627         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13628         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13629         and allocate with new.
13630         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13632 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13634         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13635         <filename, member_name>: Change type to std::string.
13636         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13637         (library_list_start_library): Allocate lm_info_aix with new.
13638         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13639         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13640         with copy constructor.
13642 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13644         * solist.h (struct lm_info): Remove.
13645         (struct lm_info_base): New class.
13646         (struct so_list) <lm_info>: Change type to lm_info_base *.
13647         * nto-tdep.c (struct lm_info): Remove.
13648         (lm_addr): Adjust.
13649         * solib-aix.c (struct lm_info): Rename to ...
13650         (struct lm_info_aix): ... this.  Extend lm_info_base.
13651         (lm_info_p): Rename to ...
13652         (lm_info_aix_p): ... this, and adjust.
13653         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13654         solib_aix_parse_libraries, library_list_start_library,
13655         solib_aix_free_library_list, solib_aix_parse_libraries,
13656         solib_aix_get_library_list,
13657         solib_aix_relocate_section_addresses, solib_aix_free_so,
13658         solib_aix_get_section_offsets,
13659         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13660         Adjust.
13661         (struct solib_aix_inferior_data) <library_list>: Adjust.
13662         * solib-darwin.c (struct lm_info): Rename to ...
13663         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13664         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13665         * solib-dsbt.c (struct lm_info): Rename to ...
13666         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13667         (struct dsbt_info) <main_executable_lm_info): Adjust.
13668         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13669         dsbt_relocate_section_addresses): Adjust.
13670         * solib-frv.c (struct lm_info): Rename to ...
13671         (struct lm_info_frv): ... this.  Extend lm_info_base.
13672         (main_executable_lm_info): Adjust.
13673         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13674         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13675         find_canonical_descriptor_in_load_object,
13676         frv_fdpic_find_canonical_descriptor): Adjust.
13677         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13678         to lm_info_svr4.
13679         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13680         svr4_clear_so, svr4_copy_library_list,
13681         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13682         svr4_current_sos, svr4_fetch_objfile_link_map,
13683         solist_update_incremental): Adjust.
13684         * solib-svr4.h (struct lm_info_svr4): Move here from
13685         solib-svr4.c.
13686         * solib-target.c (struct lm_info): Rename to ...
13687         (struct lm_info_target): ... this.  Extend lm_info_base.
13688         (lm_info_p): Rename to ...
13689         (lm_info_target_p): ... this.
13690         (solib_target_parse_libraries, library_list_start_segment,
13691         library_list_start_section, library_list_start_library,
13692         library_list_end_library, solib_target_free_library_list,
13693         solib_target_current_sos, solib_target_free_so,
13694         solib_target_relocate_section_addresses): Adjust.
13695         * windows-nat.c (struct lm_info): Rename to ...
13696         (struct lm_info_windows): ... this.  Extend lm_info_base.
13697         (windows_make_so, handle_load_dll, handle_unload_dll,
13698         windows_xfer_shared_libraries): Adjust.
13700 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13702         * solib-darwin.c (struct darwin_so_list): Remove.
13703         (darwin_current_sos): Allocate an so_list object instead of a
13704         darwin_so_list, separately allocate an lm_info object.
13705         (darwin_free_so): Free lm_info.
13707 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13709         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13710         with fprintf_filtered.
13712 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13714         * regcache.c (regcache::regcache): New function.
13715         (regcache::~regcache): New function.
13716         (regcache_xmalloc_1): Remove.
13717         (regcache_xmalloc): Call new regcache.
13718         (regcache_xfree): Call delete regcache.
13719         (get_thread_arch_aspace_regcache): Call new regcache.
13721 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13723         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13724         lwp instead of ptid_get_lwp.
13726 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13728         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13729         lwp_info instead of getting from inferior_ptid.
13731 2017-04-27  Keith Seitz  <keiths@redhat.com>
13733         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13734         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13735         (CV_CONVERSION_BADNESS): Define.
13736         (rank_one_type): Remove overly restrictive rvalue reference
13737         rank checks.
13738         Add cv-qualifier checks and subranks for type equality.
13739         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13740         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13741         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13743 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13745         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13746         count when creating the object.
13748 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13749             Ulrich Weigand  <uweigand@de.ibm.com>
13751         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13752         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13753         is used in AIX.
13754         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13755         (process_xcoff_symbol): Likewise.
13756         (scan_xcoff_symtab): Likewise.
13758 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13760         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13761         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13762         (ia64_access_reg): Use get_frame_register_unsigned.
13763         (ia64_access_rse_reg): Likewise.
13764         (ia64_libunwind_frame_prev_register): Likewise.
13766 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13768         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13769         * gdbarch.c: Regenerated.
13770         * gdbarch.h: Regenerated.
13771         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13772         visibility external.
13773         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13774         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13775         (enum cfa_how_kind): Move to ...
13776         (struct dwarf2_frame_state_reg_info): Likewise.
13777         (struct dwarf2_frame_state): Likewise.
13778         * dwarf2-frame.h: ... here.
13779         (dwarf2_frame_state_alloc_regs): New declaration.
13780         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13781         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13783 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13785         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13786         regcache_raw_read_unsigned.
13787         (xtensa_pseudo_register_write): Likewise.
13789 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13791         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13792         (nds32_pseudo_register_write): Likewise.
13794 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13796         * regcache.c (struct regcache) <readonly_p>: Change its type
13797         to bool.
13798         (regcache_xmalloc_1): Update parameter type and callers update.
13800 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13802         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13803         set_gdbarch_wchar_bit.
13804         * arm-tdep.c (arm_gdbarch_init): Likewise.
13806 2017-04-25  Pedro Alves  <palves@redhat.com>
13808         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13809         (BothAreRelocatable, memcopy, memmove): Don't define.
13810         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13811         macros.
13813 2017-04-25  Pedro Alves  <palves@redhat.com>
13815         * common/common-defs.h: Include "common/poison.h".
13816         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13817         and adjust.
13818         * common/poison.h: New file.
13819         * common/traits.h: Include <type_traits>.
13820         (Not, Or, Requires): New, moved from common/function-view.h.
13822 2017-04-25  Pedro Alves  <palves@redhat.com>
13824         * breakpoint.h (struct breakpoint): In-class initialize all
13825         fields.  Make boolean fields "bool".
13826         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13827         memset call and initializations no longer necessary.
13829 2017-04-25  Pedro Alves  <palves@redhat.com>
13831         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13832         reference.
13833         (pt_btrace_insn): New function.
13834         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13836 2017-04-25  Pedro Alves  <palves@redhat.com>
13838         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13839         "base" field and inherit from "bp_location" instead.  Add
13840         non-default ctor.
13841         (allocate_location_exception): Use new non-default ctor.
13842         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13843         (init_bp_location): Convert to ...
13844         (bp_location::bp_location): ... this new ctor, and remove memset
13845         call.
13846         (base_breakpoint_allocate_location): Use the new non-default ctor.
13847         * breakpoint.h (bp_location): Now a class.  Declare default and
13848         non-default ctors.  In-class initialize all members.
13849         (init_bp_location): Remove declaration.
13851 2017-04-25  Pedro Alves  <palves@redhat.com>
13853         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13854         assignment operator.
13856 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13858         * doublest.c (convert_doublest_to_floatformat): Call
13859         floatformat_totalsize_bytes.
13861 2017-04-22  Tom Tromey  <tom@tromey.com>
13863         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13864         ui_out_emit_list.
13865         * stack.c (print_frame): Use ui_out_emit_list.
13866         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13867         ui_out_emit_list.
13868         * mi/mi-main.c (print_one_inferior)
13869         (mi_cmd_data_list_register_names)
13870         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13871         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13872         ui_out_emit_list.
13873         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13874         (mi_output_solib_attribs): Use ui_out_emit_list,
13875         ui_out_emit_tuple.
13876         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13877         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13878         (mi_cmd_stack_list_args, list_args_or_locals): Use
13879         ui_out_emit_list.
13880         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13881         * breakpoint.c (print_solib_event, output_thread_groups): Use
13882         ui_out_emit_list.
13884 2017-04-22  Tom Tromey  <tom@tromey.com>
13886         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13887         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13888         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13890 2017-04-22  Tom Tromey  <tom@tromey.com>
13892         * tracepoint.c (tvariables_info_1)
13893         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13895 2017-04-22  Tom Tromey  <tom@tromey.com>
13897         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13898         annotate_arg_emitter.
13899         * breakpoint.c (print_mention_watchpoint)
13900         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13901         * annotate.h (struct annotate_arg_emitter): New.
13903 2017-04-22  Tom Tromey  <tom@tromey.com>
13905         * record-btrace.c (record_btrace_insn_history)
13906         (record_btrace_insn_history_range, record_btrace_call_history)
13907         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13908         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13909         ui_out_emit_tuple.
13910         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13911         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13912         * skip.c (skip_info): Use ui_out_emit_tuple.
13913         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13914         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13915         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13916         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13917         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13918         ui_out_emit_tuple.
13919         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13920         (output_register, mi_cmd_data_read_memory)
13921         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13922         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13923         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13924         Use ui_out_emit_tuple.
13925         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13926         ui_out_emit_tuple.
13927         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13928         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13929         * linux-thread-db.c (info_auto_load_libthread_db): Use
13930         ui_out_emit_tuple.
13931         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13932         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13933         * disasm.c (do_mixed_source_and_assembly_deprecated)
13934         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13935         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13936         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13937         * breakpoint.c (print_one_breakpoint_location)
13938         (print_one_breakpoint): Use ui_out_emit_tuple.
13939         * auto-load.c (print_script, info_auto_load_cmd): Use
13940         ui_out_emit_tuple.
13941         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13943 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13945         * thread.c (print_thread_info_1): Remove dead code.
13947 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13949         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13950         GDB_SELF_TEST.
13951         * arm-tdep.c (selftests::arm_record_test): Likewise.
13953 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13955         * regcache.c (regcache_restore): Remove argument 2.  Replace
13956         argument 3 with regcache.  Get register status from
13957         src->register_status and get register contents from
13958         register_buffer (src, regnum).
13959         (regcache_cpy): Update.
13961 2017-04-19  Pedro Alves  <palves@redhat.com>
13963         * gdbthread.h (thread): Add missing closing parenthesis in
13964         comment.
13966 2017-04-19  Pedro Alves  <palves@redhat.com>
13968         * common/refcounted-object.h: New file.
13969         * gdbthread.h: Include "common/refcounted-object.h".
13970         (thread_info): Inherit from refcounted_object and add comments.
13971         (thread_info::incref, thread_info::decref)
13972         (thread_info::m_refcount): Delete.
13973         (thread_info::deletable): Use the refcounted_object::refcount()
13974         method.
13975         * inferior.c (current_inferior_): Add comment.
13976         (set_current_inferior): Increment/decrement refcounts.
13977         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13978         not-deletable instead of comparing with the current inferior.
13979         (initialize_inferiors): Increment the initial inferior's refcount.
13980         * inferior.h (struct inferior): Forward declare.
13981         Include "common/refcounted-object.h".
13982         (current_inferior, set_current_inferior): Move declaration to
13983         before struct inferior's definition, and fix comment.
13984         (inferior): Inherit from refcounted_object.  Add comments.
13985         * thread.c (switch_to_thread_no_regs): Reference the thread's
13986         inferior pointer directly instead of doing a ptid lookup.
13987         (switch_to_no_thread): New function.
13988         (switch_to_thread(thread_info *)): New function, factored out
13989         from ...
13990         (switch_to_thread(ptid_t)): ... this.
13991         (restore_current_thread): Delete.
13992         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13993         fields, and add 'inf' field.
13994         (do_restore_current_thread_cleanup): Check whether old->inf is
13995         alive instead of looking up an inferior by ptid.  Use
13996         switch_to_thread and switch_to_no_thread.
13997         (restore_current_thread_cleanup_dtor): Use old->inf directly
13998         instead of lookup up an inferior by id.  Decref the inferior.
13999         Don't restore 'removable'.
14000         (make_cleanup_restore_current_thread): Same the inferior pointer
14001         in old, instead of the inferior number.  Incref the inferior.
14002         Don't save/clear 'removable'.
14004 2017-04-19  Pedro Alves  <palves@redhat.com>
14006         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14007         unittests/scoped_restore-selftests.c.
14008         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
14009         * common/scoped_restore.h (scoped_restore_base): Make "class".
14010         (scoped_restore_base::release): New public method.
14011         (scoped_restore_base::scoped_restore_base): New protected ctor.
14012         (scoped_restore_base::m_saved_var): New protected field.
14013         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
14014         scoped_restore_base base class instead of m_saved_var directly.
14015         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
14016         (scoped_restore_tmpl::scoped_restore_tmpl(const
14017         scoped_restore_tmpl<T>&)): Likewise.
14018         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
14019         method.
14020         (scoped_restore_tmpl::saved_var): New method.
14021         (scoped_restore_tmpl::m_saved_var): Delete.
14022         * inferior.h (inferior::detaching): Now a bool.
14023         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
14024         cleanup.
14025         * unittests/scoped_restore-selftests.c: New file.
14027 2017-04-19  Pedro Alves  <palves@redhat.com>
14029         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
14030         Re-sort in alphabetic order.
14032 2017-04-18  Pedro Alves  <palves@redhat.com>
14034         * xml-support.c (obstack_xml_printf): Delete.
14035         * xml-support.h (obstack_xml_printf): Delete.
14037 2017-04-18  Pedro Alves  <palves@redhat.com>
14039         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
14040         vdebug, verror, body_text, start_element, end_element, name,
14041         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
14042         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
14043         is_xinclude>: Make private and add m_ prefix.
14044         (gdb_xml_parser::body_text): New method, based on ...
14045         (gdb_xml_body_text): ... this.  Adjust.
14046         (gdb_xml_parser::vdebug): New method, based on ...
14047         (gdb_xml_debug): ... this.  Adjust.
14048         (gdb_xml_parser::verror): New method, based on ...
14049         (gdb_xml_error): ... this.  Adjust.
14050         (gdb_xml_parser::start_element): New method, based on ...
14051         (gdb_xml_start_element): ... this.  Adjust.
14052         (gdb_xml_start_element_wrapper): Defer to
14053         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
14054         (gdb_xml_parser::end_element): New method, based on ...
14055         (gdb_xml_end_element_wrapper): ... this.  Adjust.
14056         (gdb_xml_parser::~gdb_xml_parser): Adjust.
14057         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
14058         (gdb_xml_parser::use_dtd): New method, based on ...
14059         (gdb_xml_use_dtd): ... this.  Adjust.
14060         (gdb_xml_parser::parse): New method, based on ...
14061         (gdb_xml_parse): ... this.  Adjust.
14062         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
14063         (xinclude_start_include): Adjust to call the parser's name method.
14064         (xml_xinclude_default, xml_xinclude_start_doctype)
14065         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
14066         method.
14067         (xml_process_xincludes): Adjust to call parser methods.
14068         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
14069         declarations.
14071 2017-04-18  Pedro Alves  <palves@redhat.com>
14073         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
14074         gdb::optional<std::string>.
14075         * xml-support.c: Include <string>.
14076         (scope_level::scope_level(scope_level &&))
14077         (scope_level::~scope_level): Delete.
14078         (scope_level::body): Now a std::string.
14079         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
14080         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
14081         parameter.
14082         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
14083         (xinclude_parsing_data::output): Now a std::string reference.
14084         (xinclude_start_include): Adjust.
14085         (xml_xinclude_default): Adjust.
14086         (xml_process_xincludes): Add 'output' parameter, and return bool.
14087         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
14088         and return bool.
14089         * xml-tdesc.c: Include <unordered_map> and <string>.
14090         (tdesc_xml_cache): Delete.
14091         (tdesc_xml_cache_s): Delete.
14092         (xml_cache): Now an std::unordered_map.
14093         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
14094         (target_fetch_description_xml): Change return type to
14095         gdb::optional<std::string>, and adjust.
14096         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
14097         (target_fetch_description_xml): Change return type to
14098         gdb::optional<std::string>.
14100 2017-04-18  Pedro Alves  <palves@redhat.com>
14102         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14103         unittests/optional-selftests.c.
14104         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
14105         * unittests/optional-selftests.c: New file.
14106         * unittests/optional/assignment/1.cc: New file.
14107         * unittests/optional/assignment/2.cc: New file.
14108         * unittests/optional/assignment/3.cc: New file.
14109         * unittests/optional/assignment/4.cc: New file.
14110         * unittests/optional/assignment/5.cc: New file.
14111         * unittests/optional/assignment/6.cc: New file.
14112         * unittests/optional/assignment/7.cc: New file.
14113         * unittests/optional/cons/copy.cc: New file.
14114         * unittests/optional/cons/default.cc: New file.
14115         * unittests/optional/cons/move.cc: New file.
14116         * unittests/optional/cons/value.cc: New file.
14117         * unittests/optional/in_place.cc: New file.
14118         * unittests/optional/observers/1.cc: New file.
14119         * unittests/optional/observers/2.cc: New file.
14121 2017-04-18  Pedro Alves  <palves@redhat.com>
14123         * common/gdb_optional.h: Include common/traits.h.
14124         (in_place_t): New type.
14125         (in_place): New constexpr variable.
14126         (optional::optional): Remove member initialization of
14127         m_instantiated.
14128         (optional::optional(in_place_t...)): New constructor.
14129         (optional::~optional): Use reset.
14130         (optional::optional(const optional&)): New.
14131         (optional::optional(const optional&&)): New.
14132         (optional::optional(T &)): New.
14133         (optional::optional(T &&)): New.
14134         (operator::operator=(const optional &)): New.
14135         (operator::operator=(optional &&)): New.
14136         (operator::operator= (const T &))
14137         (operator::operator= (T &&))
14138         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
14139         (operator::reset): New.
14140         (operator::m_instantiated):: Add in-class initializer.
14141         * common/traits.h: Include <type_traits>.
14142         (struct And): New types.
14144 2017-04-18  Pedro Alves  <palves@redhat.com>
14146         * xml-support.c: Include <vector>.
14147         (scope_level::scope_level(const gdb_xml_element *))
14148         (scope_level::scope_level(scope_level&&)): New.
14149         (scope_level::~scope_level): New.
14150         (scope_level_s): Delete.
14151         (gdb_xml_parser::scopes): Now a std::vector.
14152         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
14153         Use std::vector.
14154         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
14155         scope cleanup code.
14156         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
14157         of the scopes member.  Use std::vector::emplace_back.
14159 2017-04-18  Pedro Alves  <palves@redhat.com>
14161         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
14162         a bool.
14163         (gdb_xml_end_element): Change type of first parameter.
14164         (gdb_xml_cleanup): Rename to ...
14165         (gdb_xml_parser::~gdb_xml_parser): ... this.
14166         (gdb_xml_create_parser_and_cleanup): Delete with ...
14167         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
14168         to this new ctor.
14169         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
14170         using gdb_xml_create_parser_and_cleanup.
14171         (xinclude_parsing_data): Add ctor/dtor.
14172         (xml_xinclude_cleanup): Delete.
14173         (xml_process_xincludes): Create a local xinclude_parsing_data
14174         instead of heap-allocating one.  Create a local gdb_xml_parser
14175         instead of heap-allocating one with
14176         gdb_xml_create_parser_and_cleanup.
14178 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
14180         PR threads/20743
14181         * fbsd-nat.c (resume_one_thread_cb): Remove.
14182         (resume_all_threads_cb): Remove.
14183         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
14184         iterate_over_threads.
14186 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
14188         * NEWS: Create a new section for the next release branch.
14189         Rename the section of the current branch, now that it has
14190         been cut.
14192 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
14194         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
14195         * version.in: Bump version to 8.0.50.DATE-git.
14197 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
14199         PR gdb/21385
14200         * windows-nat.c (windows_create_inferior): Declare 'allargs'
14201         independently of the host, and fix build breakage on Cygwin.
14203 2017-04-13  Pedro Alves  <palves@redhat.com>
14205         * inferior.c (free_inferior): Convert to ...
14206         (inferior::~inferior): ... this dtor.
14207         (inferior::inferior): New ctor, factored out from ...
14208         (add_inferior_silent): ... here.  Allocate the inferior with a new
14209         expression.
14210         (delete_inferior): Call delete instead of free_inferior.
14211         * inferior.h (gdb_environ, continuation): Forward declare.
14212         (inferior): Now a class.  Add in-class initialization to all
14213         members.  Make boolean fields bool, except 'detaching'.
14214         (inferior::inferior): New explicit ctor.
14215         (inferior::~inferior): New.
14217 2017-04-13  Pedro Alves  <palves@redhat.com>
14219         * inferior.c (init_inferior_list): Delete.
14220         * inferior.h (init_inferior_list): Delete.
14222 2017-04-13  Pedro Alves  <palves@redhat.com>
14224         PR threads/13217
14225         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
14226         (top level): Call it twice, with different thread sets.
14228 2017-04-13  Pedro Alves  <palves@redhat.com>
14230         * thread.c: Include <algorithm>.
14231         (thread_array_cleanup): Delete.
14232         (scoped_inc_dec_ref): New class.
14233         (live_threads_count): New function.
14234         (set_thread_refcount): Delete.
14235         (tp_array_compar_ascending): Now a bool.
14236         (tp_array_compar): Convert to a std::sort comparison function.
14237         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
14238         and live_threads_count.
14240 2017-04-13  Pedro Alves  <palves@redhat.com>
14242         * infrun.c (follow_fork_inferior): Also switch the current
14243         inferior.
14245 2017-04-13  Pedro Alves  <palves@redhat.com>
14247         * breakpoint.c (watch_command_1): Save watchpoint-frame info
14248         before calling create_internal_breakpoint.
14250 2017-04-13  Pedro Alves  <palves@redhat.com>
14252         * fork-child.c (execv_argv): New class.
14253         (breakup_args): Refactored as ...
14254         (execv_argv::init_for_no_shell): .. this method of execv_argv.
14255         Copy arguments to storage and replace separators with NULL
14256         terminators in place.
14257         (escape_bang_in_quoted_argument): Adjust to return bool.
14258         (execv_argv::execv_argv): New ctor.
14259         (execv_argv::init_for_shell): New method, factored out from
14260         fork_inferior.  Don't strdup strings into the vector.
14261         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
14262         Remove free_vector_argv call.
14264 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14266         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
14267         tdep->rx_psw_type.
14269 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14271         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
14272         * rx-tdep.c (rx_gdbarch_init): Likewise.
14274 2017-04-13  Pedro Alves  <palves@redhat.com>
14276         * breakpoint.h (struct breakpoint): Reindent.
14278 2017-04-13  Pedro Alves  <palves@redhat.com>
14280         * breakpoint.c (bp_location): Rename to ...
14281         (bp_locations): ... this.  All references updated.
14282         (bp_location_count): Rename to ...
14283         (bp_locations_count): ... this.  All references updated.
14284         (bp_location_placed_address_before_address_max): Rename to ...
14285         (bp_locations_placed_address_before_address_max): ... this.  All
14286         references updated.
14287         (bp_location_shadow_len_after_address_max): Rename to ...
14288         (bp_locations_shadow_len_after_address_max): ... this.  All
14289         references updated.
14290         (bp_location_compare_addrs): Rename to ...
14291         (bp_locations_compare_addrs): ... this.  All references updated.
14292         (bp_location_compare):Rename to ...
14293         (bp_locations_compare): ... this.  All references updated.
14294         (bp_location_target_extensions_update): Rename to ...
14295         (bp_locations_target_extensions_update): ... this.  All references
14296         updated.
14298 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14300         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
14301         * common/common.m4: Check headers 'termios.h', 'termio.h' and
14302         'sgtty.h'.
14303         * common/gdb_termios.h: New file, with parts of "terminal.h".
14304         * inflow.c: Include "gdb_termios.h".
14305         * ser-unix.c: Include "gdb_termios.h".
14306         * terminal.h: Move terminal-related defines to
14307         "common/gdb_termios.h".
14309 2017-04-12  Tom Tromey  <tom@tromey.com>
14311         * probe.c (parse_probes): Update.
14312         * location.h (delete_event_location): Don't declare.
14313         (event_location_deleter::operator()): Update.
14314         * location.c (event_location_deleter::operator()): Rename from
14315         delete_event_location.
14316         * linespec.h (linespec_result) <location>: Change type to
14317         event_location_up.
14318         * linespec.c (canonicalize_linespec, event_location_to_sals)
14319         (decode_objc): Update.
14320         (linespec_result): Don't call delete_event_location.
14321         * breakpoint.c (create_breakpoints_sal)
14322         (bkpt_probe_create_sals_from_location)
14323         (strace_marker_create_sals_from_location): Update.
14325 2017-04-12  Tom Tromey  <tom@tromey.com>
14327         * linespec.h (struct linespec_result): Add constructor and
14328         destructor.
14329         (init_linespec_result, destroy_linespec_result)
14330         (make_cleanup_destroy_linespec_result): Don't declare.
14331         * linespec.c (init_linespec_result): Remove.
14332         (linespec_result::~linespec_result): Rename from
14333         destroy_linespec_result.  Update.
14334         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
14335         Remove.
14336         * breakpoint.c (create_breakpoint, break_range_command)
14337         (decode_location_default): Update.
14338         * ax-gdb.c (agent_command_1): Update.
14340 2017-04-12  Tom Tromey  <tom@tromey.com>
14342         * remote.c (remote_download_tracepoint): Update.
14343         * python/py-breakpoint.c (bppy_get_location): Update.
14344         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
14345         (gdbscm_breakpoint_location): Update.
14346         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
14347         * breakpoint.h (struct breakpoint) <location, location_range_end>:
14348         Change type to event_location_up.
14349         * breakpoint.c (create_overlay_event_breakpoint)
14350         (create_longjmp_master_breakpoint)
14351         (create_std_terminate_master_breakpoint)
14352         (create_exception_master_breakpoint)
14353         (breakpoint_event_location_empty_p, print_breakpoint_location)
14354         (print_one_breakpoint_location, create_thread_event_breakpoint)
14355         (init_breakpoint_sal, create_breakpoint)
14356         (print_recreate_ranged_breakpoint, break_range_command)
14357         (init_ada_exception_breakpoint, say_where): Update.
14358         (base_breakpoint_dtor): Don't call delete_event_location.
14359         (bkpt_print_recreate, tracepoint_print_recreate)
14360         (dprintf_print_recreate, update_static_tracepoint)
14361         (breakpoint_re_set_default): Update.
14363 2017-04-12  Tom Tromey  <tom@tromey.com>
14365         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14366         type of "to_do".  Update.
14367         (compute_stack_depth): Use std::vector.
14369 2017-04-12  Tom Tromey  <tom@tromey.com>
14371         * printcmd.c (find_instruction_backward): Use std::vector.
14373 2017-04-12  Tom Tromey  <tom@tromey.com>
14375         * symfile.c (objfilep): Remove typedef.
14376         (reread_symbols): Use a std::vector.
14378 2017-04-12  Tom Tromey  <tom@tromey.com>
14380         * mi/mi-main.c (exec_direction_forward): Remove.
14381         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14382         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14383         scoped_restore.
14384         * guile/guile.c (guile_repl_command, guile_command)
14385         (gdbscm_execute_gdb_command): Use scoped_restore.
14386         * go-exp.y (go_parse): Use scoped_restore.
14387         * d-exp.y (d_parse): Use scoped_restore.
14388         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14389         * c-exp.y (c_parse): Use scoped_restore.
14391 2017-04-12  Tom Tromey  <tom@tromey.com>
14393         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14394         (mi_parse): Update return type.
14395         (mi_parse_free): Remove.
14396         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14397         (mi_parse::~mi_parse): Rename from mi_parse_free.
14398         (mi_parse_cleanup): Remove.
14399         (mi_parse): Return a unique_ptr.  Use new.
14400         * mi/mi-main.c (mi_execute_command): Update.
14402 2017-04-12  Tom Tromey  <tom@tromey.com>
14404         * location.c (explicit_location_lex_one): Return a
14405         unique_xmalloc_ptr.
14406         (string_to_explicit_location): Update.  Remove cleanups.
14408 2017-04-12  Tom Tromey  <tom@tromey.com>
14410         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14411         (compare_value_and_voffset): Change type.  Update.
14412         (compute_vtable_size): Change type of "offset_vec".
14413         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14414         (gnuv3_get_typeid): Remove extraneous declaration.
14416 2017-04-12  Tom Tromey  <tom@tromey.com>
14418         * charset.h (wchar_iterator): Fix comment.
14420 2017-04-12  Tom Tromey  <tom@tromey.com>
14422         * charset.c (iconv_wrapper): New class.
14423         (cleanup_iconv): Remove.
14424         (convert_between_encodings): Use it.
14426 2017-04-12  Tom Tromey  <tom@tromey.com>
14428         * symfile.h (increment_reading_symtab): Update type.
14429         * symfile.c (decrement_reading_symtab): Remove.
14430         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14431         * psymtab.c (psymtab_to_symtab): Update.
14432         * dwarf2read.c (dw2_instantiate_symtab): Update.
14434 2017-04-12  Tom Tromey  <tom@tromey.com>
14436         * jit.c (struct jit_reader): Declare separately.  Add constructor
14437         and destructor.  Change type of "handle".
14438         (loaded_jit_reader): Define separately.
14439         (jit_reader_load): Update.  New "new".
14440         (jit_reader_unload_command): Use "delete".
14441         * gdb-dlfcn.h (struct dlclose_deleter): New.
14442         (gdb_dlhandle_up): New typedef.
14443         (gdb_dlopen, gdb_dlsym): Update types.
14444         (gdb_dlclose): Remove.
14445         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14446         (gdb_dlsym): Change type of "handle".
14447         (make_cleanup_dlclose): Remove.
14448         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14449         * compile/compile-c-support.c (load_libcc): Update.
14451 2017-04-12  Tom Tromey  <tom@tromey.com>
14453         * symtab.h (find_pcs_for_symtab_line): Change return type.
14454         * symtab.c (find_pcs_for_symtab_line): Change return type.
14455         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14456         type of "vec".  Update.
14457         (ltpy_get_pcs_for_line): Update.
14458         * linespec.c (decode_digits_ordinary): Update.
14460 2017-04-12  Tom Tromey  <tom@tromey.com>
14462         * tracepoint.c (actions_command): Update.
14463         * python/python.c (python_command, python_interactive_command):
14464         Update.
14465         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14466         * guile/guile.c (guile_command): Update.
14467         * defs.h (read_command_lines, read_command_lines_1): Return
14468         command_line_up.
14469         (command_lines_deleter): New struct.
14470         (command_line_up): New typedef.
14471         * compile/compile.c (compile_code_command)
14472         (compile_print_command): Update.
14473         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14474         command_line_up.
14475         (make_cleanup_free_command_lines): Remove.
14476         * cli/cli-script.c (get_command_line, read_command_lines_1)
14477         (copy_command_lines): Return command_line_up.
14478         (while_command, if_command, read_command_lines, define_command)
14479         (document_command): Update.
14480         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14481         Remove.
14482         * breakpoint.h (breakpoint_set_commands): Change type of
14483         "commands".
14484         * breakpoint.c (breakpoint_set_commands): Change type of
14485         "commands".  Update.
14486         (do_map_commands_command, update_dprintf_command_list)
14487         (create_tracepoint_from_upload): Update.
14489 2017-04-12  Tom Tromey  <tom@tromey.com>
14491         * tracepoint.c (scope_info): Update.
14492         * spu-tdep.c (spu_catch_start): Update.
14493         * python/python.c (gdbpy_decode_line): Update.
14494         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14495         * python/py-breakpoint.c (bppy_init): Update.
14496         * probe.c (parse_probes): Update.
14497         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14498         * location.h (event_location_deleter): New struct.
14499         (event_location_up): New typedef.
14500         (new_linespec_location, new_address_location, new_probe_location)
14501         (new_explicit_location, copy_event_location)
14502         (string_to_event_location, string_to_event_location_basic)
14503         (string_to_explicit_location): Update return type.
14504         (make_cleanup_delete_event_location): Remove.
14505         * location.c (new_linespec_location, new_address_location)
14506         (new_probe_location, new_explicit_location, copy_event_location):
14507         Return event_location_up.
14508         (delete_event_location_cleanup)
14509         (make_cleanup_delete_event_location): Remove.
14510         (string_to_explicit_location, string_to_event_location_basic)
14511         (string_to_event_location): Return event_location_up.
14512         * linespec.c (canonicalize_linespec, event_location_to_sals)
14513         (decode_line_with_current_source)
14514         (decode_line_with_last_displayed, decode_objc): Update.
14515         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14516         * completer.c (location_completer): Update.
14517         * cli/cli-cmds.c (edit_command, list_command): Update.
14518         * breakpoint.c (create_overlay_event_breakpoint)
14519         (create_longjmp_master_breakpoint)
14520         (create_std_terminate_master_breakpoint)
14521         (create_exception_master_breakpoint)
14522         (create_thread_event_breakpoint): Update.
14523         (init_breakpoint_sal): Update.  Remove some dead code.
14524         (create_breakpoint_sal): Change type of "location".  Update.
14525         (create_breakpoints_sal, create_breakpoint, break_command_1)
14526         (dprintf_command, break_range_command, until_break_command)
14527         (init_ada_exception_breakpoint)
14528         (strace_marker_create_sals_from_location)
14529         (update_static_tracepoint, trace_command, ftrace_command)
14530         (strace_command, create_tracepoint_from_upload): Update.
14531         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14532         * ax-gdb.c (agent_command_1): Update.
14534 2017-04-12  Pedro Alves  <palves@redhat.com>
14536         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14537         * configure.tgt: Handle i[34567]86-*-go32* and
14538         i[34567]86-*-msdosdjgpp*.
14539         * i386-tdep.c (i386_svr4_reg_to_regnum):
14540         Make extern.
14541         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14542         i386-go32-tdep.c.
14543         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14544         * i386-go32-tdep.c: New file.
14545         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14546         declarations.
14548 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14550         * aix-thread.c (pd_status2str): Change return type to const char *.
14552 2017-04-12  Pedro Alves  <palves@redhat.com>
14554         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14555         calls to set_gdbarch_gnu_triplet_regexp.
14557 2017-04-12  Pedro Alves  <palves@redhat.com>
14559         PR gdb/21323
14560         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14561         New enum value.
14562         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14563         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14564         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14565         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14566         * gdbarch.h, gdbarch.c: Regenerate.
14567         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14568         gdbarch_wchar_bit and gdbarch_wchar_signed.
14569         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14570         * arm-tdep.c (arm_gdbarch_init): Likewise.
14571         * avr-tdep.c (avr_gdbarch_init): Likewise.
14572         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14573         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14574         * i386-tdep.c (i386_go32_init_abi): Likewise.
14575         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14576         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14577         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14578         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14579         * sh-tdep.c (sh_gdbarch_init): Likewise.
14580         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14581         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14582         * windows-tdep.c (windows_init_abi): Likewise.
14583         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14585 2017-04-12  Pedro Alves  <palves@redhat.com>
14587         PR c++/21323
14588         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14589         cplus_primitive_type_char32_t>: New enum values.
14590         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14591         and cplus_primitive_type_char32_t.
14592         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14593         32, use the archtecture's built-in type for char16_t and char32_t,
14594         respectively.  Otherwise, fallback to init_integer_type as before,
14595         but make the type unsigned, and issue a complaint.
14596         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14598 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14600         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14601         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14603 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14605         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14606         'const char *'.
14608 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14610         * common/common-utils.c (free_vector_argv): New function.
14611         * common/common-utils.h: Include <vector>.
14612         (free_vector_argv): New prototype.
14613         * darwin-nat.c (darwin_create_inferior): Rewrite function
14614         prototype in order to constify "exec_file" and accept a
14615         "std::string" for "allargs".
14616         * fork-child.c: Include <vector>.
14617         (breakup_args): Rewrite function, using C++.
14618         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14619         and accept "std::string" for "allargs".  Update the code to
14620         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14621         and "execvp".
14622         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14623         order to constify "exec_file" and accept a "std::string" for
14624         "allargs".
14625         * go32-nat.c (go32_create_inferior): Likewise.
14626         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14627         * infcmd.c (run_command_1): Constify "exec_file".  Use
14628         "std::string" for inferior arguments.
14629         * inferior.h (fork_inferior): Update prototype.
14630         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14631         prototype in order to constify "exec_file" and accept a
14632         "std::string" for "allargs".
14633         * nto-procfs.c (procfs_create_inferior): Likewise.
14634         * procfs.c (procfs_create_inferior): Likewise.
14635         * remote-sim.c (gdbsim_create_inferior): Likewise.
14636         * remote.c (extended_remote_run): Update code to accept
14637         "std::string" as argument.
14638         (extended_remote_create_inferior): Rewrite function prototype in
14639         order to constify "exec_file" and accept a "std::string" for
14640         "allargs".
14641         * rs6000-nat.c (super_create_inferior): Likewise.
14642         (rs6000_create_inferior): Likewise.
14643         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14644         * windows-nat.c (windows_create_inferior): Likewise.
14646 2017-04-11  Pedro Alves  <palves@redhat.com>
14648         * thread.c: Fix whitespace throughout.
14650 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14652         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14654 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14656         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14658 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14660         PR gdb/21364
14661         * osdata.c (info_osdata): Check if 'type' is an empty string
14662         instead of NULL.
14664 2017-04-10  Pedro Alves  <palves@redhat.com>
14666         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14667         (ptid_to_global_thread_id, in_thread_list)
14668         (do_captured_list_thread_ids, set_resumed, set_running)
14669         (set_executing, set_stop_requested, finish_thread_state)
14670         (validate_registers_access, can_access_registers_ptid)
14671         (print_thread_info_1, switch_to_thread)
14672         (do_restore_current_thread_cleanup)
14673         (make_cleanup_restore_current_thread, thread_command)
14674         (thread_name_command): Use operator== instead of ptid_equal.
14676 2017-04-10  Pedro Alves  <palves@redhat.com>
14678         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14679         (current_thread_cleanup_chain): Delete.
14680         (restore_current_thread_cleanup_dtor)
14681         (make_cleanup_restore_current_thread): Remove references to
14682         current_thread_cleanup_chain.
14684 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14686         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14687         REG_UNKNOWN.
14689 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14691         PR gdb/19942
14692         * gdbthread.h (thread_info::deletable): New method.
14693         (thread_info::incref): New method.
14694         (thread_info::decref): New method.
14695         (thread_info::refcount): Move it to private.
14696         * infrun.c (save_stop_context): Call inc_refcount.
14697         (release_stop_context_cleanup): Likewise.
14698         * thread.c (set_thread_exited): New function.
14699         (init_thread_list): Delete "tp" only it is deletable, otherwise
14700         call set_thread_exited.
14701         (delete_thread_1): Call set_thread_exited.
14702         (current_thread_cleanup) <inferior_pid>: Remove.
14703         <thread>: New field.
14704         (restore_current_thread_ptid_changed): Removed.
14705         (do_restore_current_thread_cleanup): Adjust.
14706         (restore_current_thread_cleanup_dtor): Don't call
14707         find_thread_ptid.
14708         (set_thread_refcount): Use dec_refcount.
14709         (make_cleanup_restore_current_thread): Adjust.
14710         (thread_apply_all_command): Call inc_refcount.
14711         (_initialize_thread): Don't call
14712         observer_attach_thread_ptid_changed.
14714 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14716         * thread.c (delete_thread_1): Hoist code on marking thread as
14717         exited.
14719 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14721         * windows-nat.c (windows_detach): Initialize ptid with
14722         minus_one_ptid.
14724 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14726         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14728 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14730         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14731         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14732         (bfin_pseudo_register_write): Likewise
14734 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14736         * common/ptid.h (struct ptid): Change to...
14737         (class ptid_t): ... this.
14738         <ptid_t>: New constructors.
14739         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14740         matches>: New methods.
14741         <make_null, make_minus_one>: New static methods.
14742         <pid>: Rename to...
14743         <m_pid>: ...this.
14744         <lwp>: Rename to...
14745         <m_lwp>: ...this.
14746         <tid>: Rename to...
14747         <m_tid>: ...this.
14748         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14749         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14750         as references, move comment to class ptid_t.
14751         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14752         ptid_t static methods.
14753         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14754         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14755         Take ptid arguments as references, implement using ptid_t methods.
14756         * unittests/ptid-selftests.c: New file.
14757         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14758         unittests/ptid-selftests.c.
14759         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14761 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14763         * python/python.c (python_run_simple_file): Cast mode literal to
14764         non-const char pointer as expected by PyFile_FromString.
14766 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14768         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14769         minus_one_ptid and null_ptid.
14771 2017-04-05  Pedro Alves  <palves@redhat.com>
14773         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14774         * configure: Regenerate.
14776 2017-04-05  Pedro Alves  <palves@redhat.com>
14778         * ada-exp.y (yyerror): Constify.
14779         * ada-lang.c (bound_name, get_selections)
14780         (ada_variant_discrim_type)
14781         (ada_variant_discrim_name, ada_value_struct_elt)
14782         (ada_lookup_struct_elt_type, is_unchecked_variant)
14783         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14784         (catch_ada_exception_command_split)
14785         (catch_ada_assert_command_split, catch_assert_command)
14786         (ada_op_name): Constify.
14787         * ada-lang.h (ada_yyerror, get_selections)
14788         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14789         * arc-tdep.c (arc_print_frame_cache): Constify.
14790         * arm-tdep.c (arm_skip_stub): Constify.
14791         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14792         (gen_aggregate_elt_ref): Constify.
14793         * bcache.c (print_bcache_statistics): Constify.
14794         * bcache.h (print_bcache_statistics): Constify.
14795         * break-catch-throw.c (catch_exception_command_1):
14796         * breakpoint.c (struct ep_type_description::description):
14797         Constify.
14798         (add_solib_catchpoint): Constify.
14799         (catch_fork_command_1): Add cast.
14800         (add_catch_command): Constify.
14801         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14802         Constify.
14803         * bsd-uthread.c (bsd_uthread_state): Constify.
14804         * buildsym.c (patch_subfile_names): Constify.
14805         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14806         Constify.
14807         * c-exp.y (yyerror): Constify.
14808         (token::oper): Constify.
14809         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14810         * c-varobj.c (cplus_describe_child): Constify.
14811         * charset.c (find_charset_names): Add cast.
14812         (find_charset_names): Constify array and add const_cast.
14813         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14814         (edit_command): Constify.
14815         * cli/cli-decode.c (lookup_cmd): Constify.
14816         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14817         Constify.
14818         (struct dump_context): Constify.
14819         (add_dump_command, restore_command): Constify.
14820         * cli/cli-script.c (get_command_line): Constify.
14821         * cli/cli-script.h (get_command_line): Constify.
14822         * cli/cli-utils.c (check_for_argument): Constify.
14823         * cli/cli-utils.h (check_for_argument): Constify.
14824         * coff-pe-read.c (struct read_pe_section_data): Constify.
14825         * command.h (lookup_cmd): Constify.
14826         * common/print-utils.c (decimal2str): Constify.
14827         * completer.c (gdb_print_filename): Constify.
14828         * corefile.c (set_gnutarget): Constify.
14829         * cp-name-parser.y (yyerror): Constify.
14830         * cp-valprint.c (cp_print_class_member): Constify.
14831         * cris-tdep.c (cris_register_name, crisv32_register_name):
14832         Constify.
14833         * d-exp.y (yyerror): Constify.
14834         (struct token::oper): Constify.
14835         * d-lang.h (d_yyerror): Constify.
14836         * dbxread.c (struct header_file_location::name): Constify.
14837         (add_old_header_file, add_new_header_file, last_function_name)
14838         (dbx_next_symbol_text, add_bincl_to_list)
14839         (find_corresponding_bincl_psymtab, set_namestring)
14840         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14841         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14842         * defs.h (command_line_input, print_address_symbolic)
14843         (deprecated_readline_begin_hook): Constify.
14844         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14845         Constify.
14846         * event-top.c (handle_line_of_input): Constify and add cast.
14847         * exceptions.c (catch_errors): Constify.
14848         * exceptions.h (catch_errors): Constify.
14849         * expprint.c (print_subexp_standard, op_string, op_name)
14850         (op_name_standard, dump_raw_expression, dump_raw_expression):
14851         * expression.h (op_name, op_string, dump_raw_expression):
14852         Constify.
14853         * f-exp.y (yyerror): Constify.
14854         (struct token::oper): Constify.
14855         (struct f77_boolean_val::name): Constify.
14856         * f-lang.c (f_word_break_characters): Constify.
14857         * f-lang.h (f_yyerror): Constify.
14858         * fork-child.c (fork_inferior): Add cast.
14859         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14860         (new_variant): Constify.
14861         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14862         * gdbarch.c: Regenerate.
14863         * gdbcore.h (set_gnutarget): Constify.
14864         * go-exp.y (yyerror): Constify.
14865         (token::oper): Constify.
14866         * go-lang.h (go_yyerror): Constify.
14867         * go32-nat.c (go32_sysinfo): Constify.
14868         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14869         * guile/scm-cmd.c (cmdscm_function): Constify.
14870         * guile/scm-param.c (pascm_param_value): Constify.
14871         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14872         (h8300sx_register_name): Constify.
14873         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14874         Constify.
14875         * ia64-tdep.c (ia64_register_names): Constify.
14876         * infcmd.c (construct_inferior_arguments): Constify.
14877         (path_command, attach_post_wait): Constify.
14878         * language.c (show_range_command, show_case_command)
14879         (unk_lang_error): Constify.
14880         * language.h (language_defn::la_error)
14881         (language_defn::la_name_of_this): Constify.
14882         * linespec.c (decode_line_2): Constify.
14883         * linux-thread-db.c (thread_db_err_str): Constify.
14884         * lm32-tdep.c (lm32_register_name): Constify.
14885         * m2-exp.y (yyerror): Constify.
14886         * m2-lang.h (m2_yyerror): Constify.
14887         * m32r-tdep.c (m32r_register_names): Constify and make static.
14888         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14889         * m88k-tdep.c (m88k_register_name): Constify.
14890         * macroexp.c (appendmem): Constify.
14891         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14892         (upgrade_type, parse_external, parse_partial_symbols)
14893         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14894         (new_symbol): Constify.
14895         * memattr.c (mem_info_command): Constify.
14896         * mep-tdep.c (register_name_from_keyword): Constify.
14897         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14898         Constify.
14899         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14900         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14901         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14902         cast.
14903         (mi_execute_async_cli_command): Constify.
14904         * mips-tdep.c (mips_register_name): Constify.
14905         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14906         (am33_register_name, am33_2_register_name)
14907         * moxie-tdep.c (moxie_register_names): Constify.
14908         * nat/linux-osdata.c (osdata_type): Constify fields.
14909         * nto-tdep.c (nto_parse_redirection): Constify.
14910         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14911         (lookup_child_selector): Constify.
14912         (objc_methcall::name): Constify.
14913         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14914         (lookup_struct_typedef): Constify.
14915         * objfiles.c (pc_in_section): Constify.
14916         * objfiles.h (pc_in_section): Constify.
14917         * p-exp.y (struct token::oper): Constify.
14918         (yyerror): Constify.
14919         * p-lang.h (pascal_yyerror): Constify.
14920         * parser-defs.h (op_name_standard): Constify.
14921         (op_print::string): Constify.
14922         (exp_descriptor::op_name): Constify.
14923         * printcmd.c (print_address_symbolic): Constify.
14924         * psymtab.c (print_partial_symbols): Constify.
14925         * python/py-breakpoint.c (stop_func): Constify.
14926         (bppy_get_expression): Constify.
14927         * python/py-cmd.c (cmdpy_completer::name): Constify.
14928         (cmdpy_function): Constify.
14929         * python/py-event.c (evpy_add_attribute)
14930         (gdbpy_initialize_event_generic): Constify.
14931         * python/py-event.h (evpy_add_attribute)
14932         (gdbpy_initialize_event_generic): Constify.
14933         * python/py-evts.c (add_new_registry): Constify.
14934         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14935         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14936         * python/py-inferior.c (get_buffer): Add cast.
14937         * python/py-param.c (parm_constant::name): Constify.
14938         * python/py-unwind.c (fprint_frame_id): Constify.
14939         * python/python.c (gdbpy_parameter_value): Constify.
14940         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14941         * remote.c (memory_packet_config::name): Constify.
14942         (show_packet_config_cmd, remote_write_bytes)
14943         (remote_buffer_add_string):
14944         * reverse.c (exec_reverse_once): Constify.
14945         * rs6000-tdep.c (variant::name, variant::description): Constify.
14946         * rust-exp.y (rustyyerror): Constify.
14947         * rust-lang.c (rust_op_name): Constify.
14948         * rust-lang.h (rustyyerror): Constify.
14949         * serial.h (serial_ops::name): Constify.
14950         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14951         (sh_sh3e_register_name, sh_sh2e_register_name)
14952         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14953         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14954         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14955         (sh_sh4al_dsp_register_name): Constify.
14956         * sh64-tdep.c (sh64_register_name): Constify.
14957         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14958         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14959         * stabsread.c (patch_block_stabs, read_type_number)
14960         (ref_map::stabs, ref_add, process_reference)
14961         (symbol_reference_defined, define_symbol, define_symbol)
14962         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14963         (read_one_struct_field, read_struct_fields, read_baseclasses)
14964         (read_tilde_fields, read_struct_type, read_array_type)
14965         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14966         (read_huge_number, read_range_type, read_args, common_block_start)
14967         (find_name_end): Constify.
14968         * stabsread.h (common_block_start, define_symbol)
14969         (process_one_symbol, symbol_reference_defined, ref_add):
14970         * symfile.c (get_section_index, add_symbol_file_command):
14971         * symfile.h (get_section_index): Constify.
14972         * target-descriptions.c (tdesc_type::name): Constify.
14973         (tdesc_free_type): Add cast.
14974         * target.c (find_default_run_target):
14975         (add_deprecated_target_alias, find_default_run_target)
14976         (target_announce_detach): Constify.
14977         (do_option): Constify.
14978         * target.h (add_deprecated_target_alias): Constify.
14979         * thread.c (print_thread_info_1): Constify.
14980         * top.c (deprecated_readline_begin_hook, command_line_input):
14981         Constify.
14982         (init_main): Add casts.
14983         * top.h (handle_line_of_input): Constify.
14984         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14985         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14986         (tfind_command): Rename to ...
14987         (tfind_command_1): ... this and constify.
14988         (tfind_command): New function.
14989         (tfind_end_command, tfind_start_command): Adjust.
14990         (encode_source_string): Constify.
14991         * tracepoint.h (encode_source_string): Constify.
14992         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14993         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14994         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14995         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14996         * tui/tui-win.c (parse_scrolling_args): Constify.
14997         * tui/tui-windata.c (tui_erase_data_content): Constify.
14998         * tui/tui-windata.h (tui_erase_data_content): Constify.
14999         * tui/tui-winsource.c (tui_erase_source_content): Constify.
15000         * tui/tui.c (tui_enable): Add cast.
15001         * utils.c (defaulted_query): Constify.
15002         (init_page_info): Add cast.
15003         (puts_debug, subset_compare): Constify.
15004         * utils.h (subset_compare): Constify.
15005         * varobj.c (varobj_format_string): Constify.
15006         * varobj.h (varobj_format_string): Constify.
15007         * vax-tdep.c (vax_register_name): Constify.
15008         * windows-nat.c (windows_detach): Constify.
15009         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
15010         * xml-support.c (gdb_xml_end_element): Constify.
15011         * xml-tdesc.c (tdesc_start_reg): Constify.
15012         * xstormy16-tdep.c (xstormy16_register_name): Constify.
15013         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
15014         * xtensa-tdep.h (xtensa_register_t::name): Constify.
15016 2017-04-05  Pedro Alves  <palves@redhat.com>
15018         * proc-api.c (struct trans): Constify.
15019         (procfs_note): Constify.
15020         * proc-events.c (struct trans, syscall_table):
15021         * proc-flags.c (struct trans): Constify.
15022         * proc-utils.h (procfs_note): Constify.
15023         * proc-why.c (struct trans): Constify.
15024         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
15025         (procfs_detach): Constify.
15026         * sol-thread.c (struct string_map): Constify.
15027         (td_err_string, td_state_string): Constify.
15029 2017-04-05  Pedro Alves  <palves@redhat.com>
15031         * proc-api.c (procfs_filename): Don't initialize
15032         procfs_filename.
15033         (prepare_to_trace): Assume procfs_filename is non-NULL.
15034         (_initialize_proc_api): Give procfs_filename a default value here.
15036 2017-04-05  Pedro Alves  <palves@redhat.com>
15038         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
15039         'cond_string' parameter.
15040         (extract_exception_regexp): Constify 'string' parameter.
15041         (catch_exception_command_1): Constify.
15042         * breakpoint.c (init_catchpoint)
15043         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
15044         parameter.
15045         (ep_parse_optional_if_clause, catch_fork_command_1)
15046         (catch_exec_command_1): Constify.
15047         * breakpoint.h (init_catchpoint): Constify 'cond_string'
15048         parameter.
15049         (ep_parse_optional_if_clause): Constify.
15050         * cli/cli-utils.c (remove_trailing_whitespace)
15051         (check_for_argument): Constify.
15052         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
15053         non-const overload.
15054         (check_for_argument): Likewise.
15056 2017-04-05  Pedro Alves  <palves@redhat.com>
15058         * event-top.c (command_line_handler): Add cast to execute_command
15059         call.
15060         * record-btrace.c (cmd_record_btrace_bts_start)
15061         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
15062         (cmd_record_btrace_start): Add cast to execute_command call.
15063         * record-full.c (record_full_goto_insn):
15064         * record.c (record_start, record_stop): Add cast to
15065         execute_command_to_string calls.
15066         (cmd_record_start): Add cast to execute_command calls.
15068 2017-04-05  Pedro Alves  <palves@redhat.com>
15070         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
15071         static inline function.
15072         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
15073         array and use gdb_PyArg_ParseTupleAndKeywords.
15074         * python/py-cmd.c (cmdpy_init): Likewise.
15075         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
15076         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
15077         (infpy_search_memory): Likewise.
15078         * python/py-objfile.c (objfpy_add_separate_debug_file)
15079         (gdbpy_lookup_objfile): Likewise.
15080         * python/py-symbol.c (gdbpy_lookup_symbol)
15081         (gdbpy_lookup_global_symbol): Likewise.
15082         * python/py-type.c (gdbpy_lookup_type): Likewise.
15083         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
15084         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
15085         Likewise.
15087 2017-04-05  Pedro Alves  <palves@redhat.com>
15089         * python/python-internal.h (gdb_PyGetSetDef): New type.
15090         * python/py-block.c (block_object_getset)
15091         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
15092         * python/py-event.c (event_object_getset)
15093         (finish_breakpoint_object_getset): Likewise.
15094         * python/py-inferior.c (inferior_object_getset): Likewise.
15095         * python/py-infthread.c (thread_object_getset): Likewise.
15096         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
15097         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
15098         * python/py-objfile.c (objfile_getset): Likewise.
15099         * python/py-progspace.c (pspace_getset): Likewise.
15100         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
15101         Likewise.
15102         * python/py-record.c (recpy_record_getset): Likewise.
15103         * python/py-symbol.c (symbol_object_getset): Likewise.
15104         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
15105         Likewise.
15106         * python/py-type.c (type_object_getset, field_object_getset):
15107         Likewise.
15108         * python/py-value.c (value_object_getset): Likewise.
15110 2017-04-05  Pedro Alves  <palves@redhat.com>
15112         * python/python-internal.h (gdb_PyObject_CallMethod)
15113         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
15114         New functions.
15115         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
15116         (PySys_GetObject, PySys_SetPath): New macros.
15118 2017-04-05  Pedro Alves  <palves@redhat.com>
15120         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
15121         info_osdata_command.
15122         * osdata.c (info_osdata_command): Rename to ...
15123         (info_osdata): ... this.  Constify 'type' parameter, and remove
15124         the 'from_tty' parameter.  Accept NULL TYPE.
15125         (info_osdata_command): New function.
15126         * osdata.h (info_osdata_command): Remove declaration.
15127         (info_osdata): New declaration.
15129 2017-04-05  Pedro Alves  <palves@redhat.com>
15131         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
15132         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
15133         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
15134         parameter.
15135         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
15136         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
15137         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
15138         parameter.
15139         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
15140         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
15141         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
15142         (mi_cmd_file_list_exec_source_files)
15143         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
15144         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
15145         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
15146         parameter.
15147         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
15148         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
15149         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
15150         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
15151         (mi_cmd_stack_info_frame): Constify 'command' parameter.
15152         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
15153         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
15154         'command' parameter.
15155         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
15156         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
15157         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
15158         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
15159         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
15160         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
15161         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
15162         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
15163         (mi_cmd_var_set_update_range): Constify 'command' parameter.
15164         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
15165         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
15166         parameter.
15167         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
15168         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
15169         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
15170         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
15171         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
15172         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
15173         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
15174         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
15175         (mi_cmd_data_list_changed_registers)
15176         (mi_cmd_data_write_register_values)
15177         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
15178         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
15179         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
15180         (mi_cmd_list_features, mi_cmd_list_target_features)
15181         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
15182         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
15183         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
15184         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
15185         (mi_cmd_trace_frame_collected): Constify 'command'
15186         parameter.
15187         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
15188         'command' parameter.
15190 2017-04-05  Pedro Alves  <palves@redhat.com>
15192         * ada-lang.c (ada_completer_word_break_characters): Now a const
15193         array.
15194         (ada_get_gdb_completer_word_break_characters): Constify.
15195         * completer.c (gdb_completer_command_word_break_characters)
15196         (gdb_completer_file_name_break_characters)
15197         (gdb_completer_quote_characters): Now const arrays.
15198         (get_gdb_completer_quote_characters): Constify.
15199         (set_rl_completer_word_break_characters): New function.
15200         (set_gdb_completion_word_break_characters)
15201         (complete_line_internal): Use it.
15202         * completer.h (get_gdb_completer_quote_characters): Constify.
15203         (set_rl_completer_word_break_characters): Declare.
15204         * f-lang.c (f_word_break_characters): Constify.
15205         * language.c (default_word_break_characters): Constify.
15206         * language.h (language_defn::la_word_break_characters): Constify.
15207         (default_word_break_characters): Constify.
15208         * top.c (init_main): Use set_rl_completer_word_break_characters.
15210 2017-04-05  Pedro Alves  <palves@redhat.com>
15212         * aix-thread.c (aix_thread_pid_to_str)
15213         (aix_thread_extra_thread_info): Constify.
15214         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
15215         * bsd-uthread.c (bsd_uthread_extra_thread_info)
15216         (bsd_uthread_pid_to_str): Constify.
15217         * corelow.c (core_pid_to_str): Constify.
15218         * darwin-nat.c (darwin_pid_to_str): Constify.
15219         * fbsd-nat.c (fbsd_pid_to_str): Constify.
15220         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
15221         Constify.
15222         * gnu-nat.c (gnu_pid_to_str): Constify.
15223         * go32-nat.c (go32_pid_to_str): Constify.
15224         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
15225         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
15226         * inferior.c (inferior_pid_to_str): Constify.
15227         * linux-nat.c (linux_nat_pid_to_str): Constify.
15228         * linux-tdep.c (linux_core_pid_to_str): Constify.
15229         * linux-thread-db.c (thread_db_pid_to_str)
15230         (thread_db_extra_thread_info): Constify.
15231         * nto-tdep.c (nto_extra_thread_info): Constify.
15232         * nto-tdep.h (nto_extra_thread_info): Constify.
15233         * obsd-nat.c (obsd_pid_to_str): Constify.
15234         * procfs.c (procfs_pid_to_str): Constify.
15235         * ravenscar-thread.c (ravenscar_extra_thread_info)
15236         (ravenscar_pid_to_str): Constify.
15237         * remote-sim.c (gdbsim_pid_to_str): Constify.
15238         * remote.c (remote_threads_extra_info, remote_pid_to_str):
15239         Constify.
15240         * sol-thread.c (solaris_pid_to_str): Constify.
15241         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
15242         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
15243         * target.c (default_pid_to_str, target_pid_to_str)
15244         (normal_pid_to_str, default_pid_to_str): Constify.
15245         * target.h (target_ops::to_pid_to_str)
15246         (target_ops::to_extra_thread_info): Constify.
15247         (target_pid_to_str, normal_pid_to_str): Constify.
15248         * windows-nat.c (windows_pid_to_str): Constify.
15249         * gdbarch.sh (core_pid_to_str): Constify.
15250         * target-delegates.c: Regenerate.
15251         * gdbarch.h, gdbarch.c: Regenerate.
15253 2017-04-05  Pedro Alves  <palves@redhat.com>
15255         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
15256         the memory of the temporary warning_pre_print override.
15257         * utils.c (warning_pre_print): Constify.
15258         * utils.h (warning_pre_print): Constify.
15260 2017-04-05  Pedro Alves  <palves@redhat.com>
15262         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
15263         (shell_command): New function.
15264         (make_command): Use std::string.
15265         (init_cli_cmds): Register shell_command instead of shell_escape.
15267 2017-04-05  Pedro Alves  <palves@redhat.com>
15269         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
15270         * tracepoint.c (default_collect): Don't initialize.
15272 2017-04-05  Pedro Alves  <palves@redhat.com>
15274         * macroexp.c (macro_buffer::shared): Now a bool.
15275         (init_buffer): Update.
15276         (init_shared_buffer): Constify 'addr' parameter.
15277         (substitute_args, expand, macro_expand, macro_expand_next): Remove
15278         casts.
15280 2017-04-05  Pedro Alves  <palves@redhat.com>
15282         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
15283         * disasm.c (set_disassembler_options): Constify local.
15284         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
15286 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
15288         PR gdb/21352
15289         * tracefile.c (tsave_command): Fix argument parsing for '-r'
15290         option.
15292 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15294         * frame.c (frame_unwind_register_unsigned): Call
15295         frame_unwind_register_value.
15297 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15299         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
15300         Use gdb_test_multiple, and don't match anchor.
15302 2017-04-05  Pedro Alves  <palves@redhat.com>
15304         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
15305         (Write After Approval): Remove Simon Marchi.
15307 2017-04-05  Pedro Alves  <palves@redhat.com>
15309         * common/gdb_optional.h (optional::optional): Make constexpr and
15310         initialize m_dummy.
15312 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15314         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15315         (amd64fbsd_jmp_buf_reg_offset): Remove.
15316         (amd64fbsd_supply_uthread): Remove function.
15317         (amd64fbsd_collect_uthread): Remove function.
15318         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
15319         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
15320         (x86_64-*-freebsd*): Remove bsd-uthread.o.
15321         (fbsd-nat.c): Update comment.
15322         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15323         (i386fbsd_jmp_buf_reg_offset): Remove.
15324         (i386fbsd_supply_uthread): Remove function.
15325         (i386fbsd_collect_uthread): Remove function.
15326         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
15328 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15330         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
15331         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
15332         * NEWS: Mention that support for FreeBSD/alpha was removed.
15333         * alpha-fbsd-tdep.c: Delete file.
15334         * config/alpha/fbsd.mh: Delete file.
15335         * configure.host: Delete alpha*-*-freebsd* and
15336         alpha*-*-kfreebsd*-gnu.
15337         * configure.tgt: Delete alpha*-*-freebsd* and
15338         alpha*-*-kfreebsd*-gnu.
15340 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15342         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
15343         amd64bsd_store_inferior_registers): Use ptid from regcache.
15345 2017-04-04  Pedro Alves  <palves@redhat.com>
15347         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
15348         data fields, make them private and add "m_" prefixes.
15349         (lnp_state_machine::lnp_state_machine): New ctor.
15350         (record_line, check_line_address, handle_set_discriminator)
15351         (handle_set_address, handle_advance_pc, handle_special_opcode)
15352         (handle_advance_line, handle_set_file, handle_negate_stmt)
15353         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15354         (end_sequence, advance_line): New methods.
15355         (m_gdbarch, m_record_lines_p): New fields.
15356         (lnp_reader_state): Delete.
15357         (dwarf_record_line): Rename to ...
15358         (lnp_state_machine::record_line): ... adjust.
15359         (init_lnp_state_machine): Delete.
15360         (lnp_state_machine::lnp_state_machine): New.
15361         (check_line_address): Rename to ...
15362         (lnp_state_machine::check_line_address): This.
15363         (dwarf_decode_lines_1): Remove reference to "reader_state".
15364         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15365         State machine internal state manipulation moved to
15366         lnp_state_machine methods.
15368 2017-04-04  Pedro Alves  <palves@redhat.com>
15370         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15371         unittests/offset-type-selftests.c.
15372         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15373         * common/offset-type.h: New file.
15374         * common/preprocessor.h: New file.
15375         * common/traits.h: New file.
15376         * common/valid-expr.h: New file.
15377         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15378         sect_offset and cu_offset strong typedefs throughout.
15379         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15380         typedefs throughout.
15381         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15382         sect_offset and cu_offset strong typedefs throughout.
15383         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15384         typedefs throughout.
15385         * gdbtypes.h: Include "common/offset-type.h".
15386         (cu_offset): Now an offset type (strong typedef) instead of a
15387         struct.
15388         (sect_offset): Likewise.
15389         (union call_site_parameter_u): Rename "param_offset" field to
15390         "param_cu_off".
15391         * unittests/offset-type-selftests.c: New file.
15393 2017-04-04  Pedro Alves  <palves@redhat.com>
15395         * common/underlying.h: New file.
15396         * dwarf2read.c: Include "common/gdb_optional.h" and
15397         "common/underlying.h".
15398         (dir_index, file_name_index): New types.
15399         (file_entry): Use them.
15400         (file_entry::include): Use to_underlying.
15401         (line_header::add_file_name): Use dir_index.
15402         (read_formatted_entries): Use gdb::optional.  Read form before
15403         writting to file_entry.
15404         (dwarf_decode_line_header): Use dir_index.
15405         (lnp_state_machine::current_file): Use to_underlying.
15406         (lnp_state_machine::file): Change type to file_name_index.
15407         (dwarf_record_line): Use to_underlying.
15408         (init_lnp_state_machine): Use file_name_index.
15409         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15411 2017-04-04  Pedro Alves  <palves@redhat.com>
15413         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15414         operator bool, has_value and get methods.
15416 2017-04-04  Pedro Alves  <palves@redhat.com>
15418         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15419         fields.
15420         (line_header): Initialize all data fields.  Change type of
15421         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15422         Change type of include_dirs to std::vector<const char *>.  Remove
15423         num_include_dirs, include_dirs_size.  Change type of file_names to
15424         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15425         (line_header::line_header): New.
15426         (line_header::add_include_dir, line_header::add_file_name): New
15427         methods.
15428         (line_header::include_dir_at): Remove NULL check.
15429         (line_header::file_name_at): Add const overload.
15430         (line_header_up): New unique_ptr typedef.
15431         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15432         std::vector.  Remove free_line_header call.
15433         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15434         free_line_header call.
15435         (free_cu_line_header): Delete.
15436         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15437         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15438         Adjust to use std::vector.
15439         (free_line_header): Delete.
15440         (free_line_header_voidp): Use delete.
15441         (add_include_dir): Replace with ...
15442         (line_header::add_include_dir): ... this method.  Use std::vector.
15443         (add_file_name): Replace with ...
15444         (line_header::add_file_name): ... this method.  Use std::vector.
15445         (add_include_dir_stub): Delete.
15446         (read_formatted_entries): Remove memset.
15447         (dwarf_decode_line_header): Return a line_header_up instead of a
15448         raw pointer.  Remove cleanup handling.  Pass lambdas to
15449         read_formatted_entries.  Adjust to use line_header methods.
15450         (dwarf_decode_lines_1): Adjust to use line_header methods.
15451         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15452         use std::vector.
15454 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15456         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15457         instead of struct ptid.
15459 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15461         * frame.c (get_frame_register_bytes): Unwind using value.
15462         (put_frame_register_bytes): Likewise.
15464 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15466         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15467         aggregate-like.
15469 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15471         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15473 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15475         * gdbthread.h (struct thread_info): Declare constructor and
15476         destructor.  Add some in-class member initializers.
15477         * thread.c (free_thread): Remove.
15478         (init_thread_list): Call delete instead of free_thread.
15479         (new_thread): Call thread_info constructor.
15480         (thread_info::thread_info): New function.
15481         (thread_info::~thread_info): New function.
15482         (delete_thread_1): Call delete instead of free_thread.
15483         (make_cleanup_restore_current_thread): Move tp and frame to
15484         inner block.
15486 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15488         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15489         (arc_skip_prologue): Likewise.
15490         (arc_make_frame_cache): Likewise.
15491         (arc_pv_get_operand): New function.
15492         (arc_is_in_prologue): Likewise.
15493         (arc_analyze_prologue): Likewise.
15494         (arc_print_frame_cache): Likewise.
15495         (MAX_PROLOGUE_LENGTH): New constant.
15497 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15499         * configure.tgt: Add arc-insn.o.
15500         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15501         (dump_arc_instruction_command): New function.
15502         (arc_fprintf_disasm): Likewise.
15503         (arc_disassemble_info): Likewise.
15504         (arc_insn_get_operand_value): Likewise.
15505         (arc_insn_get_operand_value_signed): Likewise.
15506         (arc_insn_get_memory_base_reg): Likewise.
15507         (arc_insn_get_memory_offset): Likewise.
15508         (arc_insn_get_branch_target): Likewise.
15509         (arc_insn_dump): Likewise.
15510         (arc_insn_get_linear_next_pc): Likewise.
15511         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15512         (arc_disassemble_info): Likewise.
15513         (arc_insn_get_branch_target): Likewise.
15514         (arc_insn_get_linear_next_pc): Likewise.
15515         * NEWS: Mention new "maint print arc arc-instruction".
15517 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15519         * arc-tdep (maintenance_print_arc_list): New variable.
15520         (maintenance_print_arc_command): New function.
15522 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15524         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15525         Add "limm" and "reserved".
15526         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15527         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15528         * arc-tdep.h (arc_regnum): Likewise.
15530 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15532         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15533         for THREADPTR register.
15534         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15535         register.
15536         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15537         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15538         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15540 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15542         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15543         registers above gdbarch_num_regs (gdbarch) as privileged in
15544         call0 ABI.
15546 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15548         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15549         for a single specified register or for all registers in
15550         a0_base..a0_base + C0_NREGS range.
15551         (supply_gregset_reg): Call regcache_raw_supply for a single
15552         specified register or for all registers in a0_base..a0_base +
15553         C0_NREGS range.
15555 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15557         * arch/xtensa.h (C0_NREGS): Add definition.
15558         * xtensa-tdep.c (C0_NREGS): Remove definition.
15560 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15562         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15563         Drop xtensa_default_isa initialization.
15564         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15566 2017-03-27  Pedro Alves  <palves@redhat.com>
15568         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15569         (file_entry::include_dir): New method.
15570         (line_header::include_dir_at, line_header::file_name_at): New
15571         methods.
15572         (setup_type_unit_groups, setup_type_unit_groups)
15573         (psymtab_include_file_name): Simplify using the new methods.
15574         (lnp_state_machine) <the_line_header>: New field.
15575         <file>: Add comment.
15576         (lnp_state_machine::current_file): New method.
15577         (dwarf_record_line): Simplify using the new methods.
15578         (init_lnp_state_machine): Initialize the "the_line_header" field.
15579         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15580         Simplify using the new methods.
15582 2017-03-27  Pedro Alves  <palves@redhat.com>
15584         * cp-name-parser.y (make_empty): Delete.
15585         (demangler_special, nested_name, ptr_operator, array_indicator)
15586         (direct_declarator, declarator_1): Use fill_comp instead of
15587         make_empty.
15589 2017-03-27  Pedro Alves  <palves@redhat.com>
15591         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15592         to ATTRIBUTE_PRINTF.
15593         * solib-target.c (library_list_start_list): Print "string" not
15594         "version".
15595         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15596         gdb_xml_error call.
15598 2017-03-27  Pedro Alves  <palves@redhat.com>
15600         * dwarf2read.c (struct file_and_directory): New.
15601         (dwarf2_get_dwz_file): Adjust to use std::string.
15602         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15603         (find_file_and_directory): Adjust to return a file_and_directory
15604         object.
15605         (read_file_scope): Adjust to use file_and_directory.  Remove
15606         make_cleanup/do_cleanups calls.
15607         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15608         make_cleanup/do_cleanups calls.
15609         * python/python.c (do_start_initialization): Adjust to ldirname
15610         returning a std::string.
15611         * utils.c (ldirname): Now returns a std::string.
15612         * utils.h (ldirname): Change return type to std::string.
15613         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15614         returning a std::string.
15615         * xml-tdesc.c (file_read_description_xml): Likewise.
15617 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15619         * regcache.c (regcache_debug_print_register): New function.
15620         * regcache.h (regcache_debug_print_register): New declaration.
15621         * target.c (debug_print_register): Remove.
15622         (target_fetch_registers): Call regcache_debug_print_register.
15623         (target_store_registers): Likewise.
15625 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15627         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15628         reference beyond the 'lh->include_dirs' array before accessing to
15629         it.
15630         (psymtab_include_file_name): Likewise.
15631         (dwarf_decode_lines_1): Likewise.
15632         (dwarf_decode_lines): Likewise.
15633         (file_file_name): Likewise.
15635 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15637         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15638         inferior_ptid.
15639         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15640         ps_lsetfpregs): Likewise.
15641         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15642         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15643         ps_lsetfpregs): Likewise.
15644         * target.c (target_fetch_registers, target_store_registers):
15645         Remove asserts.
15647 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15649         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15651 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15653         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15654         (_initialize_aarch64_tdep): Register it.
15655         (aarch64_record_load_store): Handle PRFM instruction.
15656         (aarch64_process_record_test): New function.
15658 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15660         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15661         indentation.
15663 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15665         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15667 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15669         python/python.c (do_start_initialization): Fix memory leak.
15671 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15673         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15674         using get_ptrace_pid.
15675         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15676         inferior_ptid.
15677         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15678         inferior_ptid instead of pid.
15680 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15682         * aarch64-tdep.c: Wrap locally used classes in anonymous
15683         namespace.
15684         * arm-tdep.c: Likewise.
15685         * linespec.c: Likewise.
15686         * ui-out.c: Likewise.
15688 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15690         PR gdb/19637
15691         * python/lib/gdb/printer/bound_registers.py: Import sys.
15693 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15695         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15696         windows_thread_info parameter and use it instead of
15697         current_thread.
15698         (windows_fetch_inferior_registers): Don't set current_thread,
15699         pass the thread to do_windows_fetch_inferior_registers.  Use
15700         ptid from regcache instead of inferior_ptid.
15701         (do_windows_store_inferior_registers): Add windows_thread_info
15702         parameter and use it instead of current_thread.
15703         (windows_store_inferior_registers): Don't set current_thread,
15704         pass the thread to do_windows_store_inferior_registers.  Use
15705         ptid from regcache instead of inferior_ptid.
15707 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15709         * ser-mingw.c (ser_windows_raw): Remove reference to
15710         struct serial::current_timeout.
15712 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15714         PR tdep/20928
15715         * sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15716         * sparc64-tdep.c (sparc64_ccr_type): New function.
15717         (sparc64_fsr_type): Fix %fsr decoding.
15719 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15721         * python/py-record-btrace.c (btpy_insn_data): Change return type
15722         for Python 2.
15724 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15726         * spu-linux-nat.c (spu_fetch_inferior_registers,
15727         spu_store_inferior_registers): Use ptid from regcache, set and
15728         restore inferior_ptid.
15729         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15730         Likewise.
15732 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15734         * i386-linux-nat.c (fetch_register, store_register,
15735         i386_linux_fetch_inferior_registers,
15736         i386_linux_store_inferior_registers): Use ptid from regcache.
15737         * ia64-linux-nat.c (ia64_linux_fetch_register,
15738         ia64_linux_store_register): Likewise.
15739         * inf-ptrace.c (inf_ptrace_fetch_register,
15740         inf_ptrace_store_register): Likewise.
15741         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15742         m32r_linux_store_inferior_registers): Likewise.
15743         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15744         m68kbsd_store_inferior_registers): Likewise.
15745         * m68k-linux-nat.c (fetch_register, store_register,
15746         m68k_linux_fetch_inferior_registers,
15747         m68k_linux_store_inferior_registers): Likewise.
15748         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15749         m88kbsd_store_inferior_registers): Likewise.
15750         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15751         mips_fbsd_store_inferior_registers): Likewise.
15752         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15753         mips64_linux_regsets_store_registers): Likewise.
15754         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15755         mipsnbsd_store_inferior_registers): Likewise.
15756         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15757         mips64obsd_store_inferior_registers): Likewise.
15758         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15759         Likewise.
15760         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15761         ppcfbsd_store_inferior_registers): Likewise.
15762         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15763         ppc_linux_store_inferior_registers): Likewise.
15764         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15765         ppcnbsd_store_inferior_registers): Likewise.
15766         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15767         ppcobsd_store_registers): Likewise.
15768         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15769         Likewise.
15770         * ravenscar-thread.c (ravenscar_fetch_registers,
15771         ravenscar_store_registers, ravenscar_prepare_to_store):
15772         Likewise.
15773         * record-btrace.c (record_btrace_fetch_registers,
15774         record_btrace_store_registers, record_btrace_prepare_to_store):
15775         Likewise.
15776         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15777         Lookup inferior using ptid from regcache, instead of
15778         current_inferior.
15779         * remote.c (remote_fetch_registers, remote_store_registers): Use
15780         ptid from regcache.
15781         * rs6000-nat.c (fetch_register, store_register): Likewise.
15782         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15783         s390_linux_store_inferior_registers): Likewise.
15784         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15785         shnbsd_store_inferior_registers): Likewise.
15786         * sol-thread.c (sol_thread_fetch_registers,
15787         sol_thread_store_registers): Likewise.
15788         * sparc-nat.c (sparc_fetch_inferior_registers,
15789         sparc_store_inferior_registers): Likewise.
15790         * tilegx-linux-nat.c (fetch_inferior_registers,
15791         store_inferior_registers): Likewise.
15792         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15793         vaxbsd_store_inferior_registers): Likewise.
15794         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15795         store_xtregs): Likewise.
15797 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15799         PR gdb/14441
15800         * NEWS: Mention support for rvalue references in GDB and python.
15802 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15804         PR gdb/14441
15805         * gdbtypes.c (rank_one_type): Implement overloading
15806         resolution rules regarding rvalue references.
15808 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15810         PR gdb/14441
15811         * aarch64-tdep.c (aarch64_type_align)
15812         (aarch64_extract_return_value, aarch64_store_return_value): Change
15813         lvalue reference type checks to general reference type checks.
15814         * amd64-tdep.c (amd64_classify): Likewise.
15815         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15816         Likewise.
15817         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15818         (arm_store_return_value): Likewise.
15819         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15820         * c-typeprint.c (c_print_type): Likewise.
15821         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15822         (cplus_number_of_children, cplus_describe_child): Likewise.
15823         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15824         * completer.c (expression_completer): Likewise.
15825         * cp-support.c (make_symbol_overload_list_adl_namespace):
15826         Likewise.
15827         * darwin-nat-info.c (info_mach_region_command): Likewise.
15828         * dwarf2loc.c (entry_data_value_coerce_ref)
15829         (value_of_dwarf_reg_entry): Likewise.
15830         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15831         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15832         Likewise.
15833         * findvar.c (extract_typed_address, store_typed_address):
15834         Likewise.
15835         * gdbtypes.c (rank_one_type): Likewise.
15836         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15837         * infcall.c (value_arg_coerce): Likewise.
15838         * language.c (pointer_type): Likewise.
15839         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15840         Likewise.
15841         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15842         * mn10300-tdep.c (mn10300_type_align): Likewise.
15843         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15844         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15845         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15846         Likewise.
15847         * printcmd.c (print_formatted, x_command): Likewise.
15848         * python/py-type.c (typy_get_composite, typy_template_argument):
15849         Likewise.
15850         * python/py-value.c (valpy_referenced_value)
15851         (valpy_get_dynamic_type, value_has_field): Likewise.
15852         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15853         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15854         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15855         * spu-tdep.c (spu_scalar_value_p): Likewise.
15856         * symtab.c (lookup_symbol_aux): Likewise.
15857         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15858         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15859         Likewise.
15860         * valops.c (value_cast_pointers, value_cast)
15861         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15862         (value_struct_elt, value_struct_elt_bitpos)
15863         (value_find_oload_method_list, find_overload_match)
15864         (value_rtti_indirect_type): Likewise.
15865         * valprint.c (val_print_scalar_type_p, generic_val_print):
15866         Likewise.
15867         * value.c (value_actual_type, value_as_address, unpack_long)
15868         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15869         (coerce_ref): Likewise.
15870         * varobj.c (varobj_get_value_type): Likewise.
15872 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15874         PR gdb/14441
15875         * python/lib/gdb/command/explore.py: Support exploring values
15876         of rvalue reference types.
15877         * python/lib/gdb/types.py: Implement get_basic_type() for
15878         rvalue reference types.
15879         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15880         constant.
15881         * python/py-value.c (valpy_getitem): Add an rvalue reference
15882         check.
15883         (valpy_reference_value): Add new parameter "refcode".
15884         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15885         New wrappers for valpy_reference_value().
15886         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15887         (gdbpy_invoke_xmethod): Likewise.
15889 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15891         PR gdb/14441
15892         * dwarf2read.c (process_die, read_type_die_1): Handle the
15893         DW_TAG_rvalue_reference_type DIE.
15894         (read_tag_reference_type): Add new parameter "refcode".
15896 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15898         PR gdb/14441
15899         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15900         (c_type_print_modifier, c_type_print_varspec_suffix)
15901         (c_type_print_base): Support printing rvalue reference types.
15902         * c-valprint.c (c_val_print, c_value_print): Support printing
15903         rvalue reference values.
15905 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15907         PR gdb/14441
15908         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15909         typename.
15910         * cp-support.c (replace_typedefs): Handle
15911         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15912         * python/py-type.c (typy_lookup_type): Likewise.
15914 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15916         PR gdb/14441
15917         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15918         * parse.c (insert_type): Change assert statement.
15919         (follow_types): Handle rvalue reference types.
15920         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15921         constant.
15923 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15925         PR gdb/14441
15926         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15927         value_ref() interface.
15928         * c-valprint.c (c_value_print): Likewise.
15929         * infcall.c (value_arg_coerce): Likewise.
15930         * python/py-value.c (valpy_reference_value): Likewise.
15931         * valops.c (value_cast, value_reinterpret_cast)
15932         (value_dynamic_cast, typecmp): Likewise.
15933         (value_ref): Parameterize by kind of return value reference type.
15934         * value.h (value_ref): Add new parameter "refcode".
15936 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15938         PR gdb/14441
15939         * dwarf2read.c (read_tag_reference_type): Use
15940         lookup_lvalue_reference_type() instead of lookup_reference_type().
15941         * eval.c (evaluate_subexp_standard): Likewise.
15942         * f-exp.y: Likewise.
15943         * gdbtypes.c (make_reference_type, lookup_reference_type):
15944         Generalize with rvalue reference types.
15945         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15946         convenience wrappers for lookup_reference_type().
15947         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15948         reference kind parameter.
15949         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15950         wrappers for lookup_reference_type().
15951         * guile/scm-type.c (gdbscm_type_reference): Use
15952         lookup_lvalue_reference_type() instead of lookup_reference_type().
15953         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15954         * parse.c (follow_types): Likewise.
15955         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15956         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15957         Likewise.
15958         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15959         (gdbpy_invoke_xmethod): Likewise.
15960         * stabsread.c: Provide extra argument to make_reference_type()
15961         call.
15962         * valops.c (value_ref, value_rtti_indirect_type): Use
15963         lookup_lvalue_reference_type() instead of lookup_reference_type().
15965 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15967         PR gdb/14441
15968         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15969         (TYPE_IS_REFERENCE): New macro.
15970         (struct type): Add rvalue_reference_type field.
15971         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15973 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15975         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15976         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15977         New function definition.
15978         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15979         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15980         New function declaration.
15981         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15982         * mi/mi-interp.h: New file.
15983         * solib.c (info_sharedlibrary_command): Replace for loop with
15984         ALL_SO_LIBS macro
15985         * solib.h (update_solib_list): New function declaration.
15986         (so_list_head): Move macro.
15987         * solist.h (ALL_SO_LIBS): New macro.
15989 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15991         * infcmd.c (post_create_inferior): Remove unused argument in
15992         call to solib_add.
15993         * remote.c (remote_start_remote): Likewise.
15994         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15995         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15996         (enable_break): Likewise.
15997         * solib.c (update_solib_list): Remove unused target argument
15998         and its documentation.
15999         (solib_add): Remove unused target argument.  Remove unused
16000         argument in call to update_solib_list.
16001         (info_sharedlibrary_command): Remove unused argument in call
16002         to update_solib_list.
16003         (sharedlibrary_command): Remove unused argument in call to
16004         solib_add.
16005         (handle_solib_event): Likewise.
16006         (reload_shared_libraries): Likewise.
16007         * solib.h (solib_add): Remove unused target argument.
16009 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16011         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
16012         (s390_displaced_step_fixup): Cover relative branches with the
16013         default fixup handling.  This fixes lack of support for some
16014         relative branch instructions.
16016 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16018         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
16019         ptid from regcache.
16021 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16023         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
16024         i386_darwin_store_inferior_registers): Use ptid from regcache.
16026 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16028         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
16029         i386bsd_store_inferior_registers): Use ptid from regcache.
16031 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16033         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
16034         hppaobsd_store_registers): Use ptid from regcache.
16036 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16038         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
16039         hppanbsd_store_registers): Use ptid from regcache.
16041 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16043         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
16044         from regcache.  Use get_ptrace_pid.
16046 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16048         * corelow.c (get_core_register_section): Use ptid from regcache,
16049         update doc.
16051 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16053         * bsd-uthread.c (bsd_uthread_fetch_registers,
16054         bsd_uthread_store_registers): Use ptid from regcache, set and
16055         restore inferior_ptid.
16057 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16059         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
16060         fetch_fp_regs, store_register, store_regs, store_fp_register,
16061         store_fp_regs): Use ptid from regcache.
16063 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16065         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
16066         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
16067         store_vfp_regs): Use ptid from regcache.
16069 2017-03-17  Pedro Alves  <palves@redhat.com>
16071         PR remote/21188
16072         * ser-base.c (ser_base_wait_for): Add comment.
16073         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
16074         version.
16075         * ser-unix.c (hardwire_raw): Remove reference to
16076         scb->current_timeout.
16077         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
16078         (hardwire_ops): Install ser_base_readchar instead of
16079         hardwire_readchar.
16080         * serial.h (struct serial) <current_timeout, timeout_remaining>:
16081         Remove fields.
16083 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
16085         PR gdb/19637
16086         * python/lib/gdb/printer/bound_registers.py: Add support for
16087         Python 3.
16089 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16091         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
16092         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
16093         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
16094         byte_offset to subobj_byte_offset.  Fix the handling of
16095         DWARF_VALUE_STACK on big-endian targets when coming via an
16096         implicit pointer.
16097         (dwarf2_evaluate_loc_desc): Adjust call to
16098         dwarf2_evaluate_loc_desc_full.
16099         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
16100         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
16102 2017-03-16  Yao Qi  <yao.qi@linaro.org>
16104         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
16105         and REVSH instructions.
16107 2017-03-16  Yao Qi  <yao.qi@linaro.org>
16109         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
16110         (arm_record_test): Declare.
16111         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
16112         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
16113         align with the manual.
16114         (thumb_record_misc): Adjust the code order to align with the
16115         manual.
16116         (thumb2_record_decode_insn_handler): Fix instruction matching.
16117         (instruction_reader_thumb): New class.
16118         (arm_record_test): New function.
16120 2017-03-16  Yao Qi  <yao.qi@linaro.org>
16122         * arm-tdep.c (abstract_memory_reader): New class.
16123         (instruction_reader): New class.
16124         (extract_arm_insn): Add argument 'reader'.  Callers updated.
16125         (decode_insn): Likewise.
16127 2017-03-16  Doug Evans  <dje@google.com>
16129         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
16130         member.  Change type of TYPE member to SCM.  All uses updated.
16131         (lsscm_make_lazy_string_smob): Add assert.
16132         (lsscm_make_lazy_string): Flag bad length values.
16133         (lsscm_elt_type): New function.
16134         (gdbscm_lazy_string_to_value): Rewrite to use
16135         lsscm_safe_lazy_string_to_value.
16136         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
16137         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
16138         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
16139         in incoming type.
16140         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
16141         * guile/scm-type.c (tyscm_scm_to_type): New function.
16143 2017-03-15  Doug Evans  <dje@google.com>
16145         PR python/17728, python/18439, python/18779
16146         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
16147         member.  Change type of TYPE member to PyObject *.  All uses updated.
16148         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
16149         (gdbpy_create_lazy_string_object): Flag bad length values.
16150         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
16151         Handle typedefs in incoming type.
16152         (stpy_lazy_string_elt_type): New function.
16153         (gdbpy_extract_lazy_string): Call it.
16154         * python/py-value.c (valpy_lazy_string): Flag bad length values.
16155         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
16156         typedefs in incoming type.
16158 2017-03-16  Doug Evans  <dje@google.com>
16160         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
16161         * guile/scm-type.c (tyscm_scm_to_type): New function.
16163 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
16165         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
16166         "ULONGEST" for "skip".
16168 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16170         PR gdb/21220
16171         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
16172         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
16173         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
16174         over ptrace peek/poke until end of buffer or error.
16176 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
16178         * parse.c (length_of_subexp): Make static.
16179         * parser-defs.h (length_of_subexp): Remove.
16181 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16183         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
16184         as well.
16186 2017-03-14  Pedro Alves  <palves@redhat.com>
16188         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
16189         (main): Use std::unique_ptr.  Remove calls to
16190         cp_demangled_name_parse_free.
16192 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16194         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
16195         alphabsd_store_inferior_registers): Use regcache->ptid instead
16196         of inferior_ptid.
16198 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16200         * aix-thread.c (aix_thread_fetch_registers,
16201         aix_thread_store_registers): Use regcache->ptid instead of
16202         inferior_ptid.
16204 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16206         * aarch64-linux-nat.c (fetch_gregs_from_thread,
16207         store_gregs_to_thread, fetch_fpregs_from_thread,
16208         store_fpregs_to_thread): Use regcache->ptid instead of
16209         inferior_ptid.
16211 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16213         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
16214         amd64_linux_fetch_inferior_registers): Use regcache->ptid
16215         instead of inferior_ptid.
16217 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16219         * target.c (target_fetch_registers, target_store_registers): Add
16220         assert.
16222 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16224         * regcache.h (regcache_get_ptid): New function.
16225         * regcache.c (regcache_get_ptid): New function.
16227 2017-03-13  Mark Wielaard  <mark@klomp.org>
16229         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
16231 2017-03-10  Keith Seitz  <keiths@redhat.com>
16233         PR c++/8218
16234         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
16236 2017-03-08  Pedro Alves  <palves@redhat.com>
16238         PR gdb/18360
16239         * infrun.c (start_step_over, do_target_resume, resume)
16240         (restart_threads): Assert we're not resuming a thread that is
16241         meant to be stopped.
16242         (infrun_thread_stop_requested_callback): Delete.
16243         (infrun_thread_stop_requested): If the thread is internally
16244         stopped, queue a pending stop event and clear the thread's
16245         inline-frame state.
16246         (handle_stop_requested): New function.
16247         (handle_syscall_event, handle_inferior_event_1): Use
16248         handle_stop_requested.
16249         (handle_stop_requested): New function.
16250         (handle_signal_stop): Set the thread's stop_signal here instead of
16251         at caller.
16252         (finish_step_over): Clear step over info unconditionally.
16253         (handle_signal_stop): If the user had interrupted the event
16254         thread, consider the stop a random signal.
16255         (handle_signal_stop) <signal arrived while stepping over
16256         breakpoint>: Don't restart threads here.
16257         (stop_waiting): Don't clear step-over info here.
16259 2017-03-08  Pedro Alves  <palves@redhat.com>
16261         PR 21206
16262         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
16263         goes to argument 2, not 1.
16265 2017-03-08  Pedro Alves  <palves@redhat.com>
16267         PR cli/21218
16268         * top.c (gdb_readline_wrapper): Avoid passing NULL to
16269         display_gdb_prompt.
16270         (command_line_input): Add comment.
16272 2017-03-08  Pedro Alves  <palves@redhat.com>
16274         PR tui/21216
16275         * tui/tui-file.c (tui_file::write): New.
16276         * tui/tui-file.h (tui_file): Override "write".
16277         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
16278         factored out from ...
16279         (tui_puts): ... here.
16280         (tui_putc): Use them.
16281         (tui_write): New function.
16282         * tui/tui-io.h (tui_write): Declare.
16284 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
16286         * Makefile.in (SFILES): Replace "environ.c" with
16287         "common/environ.c".
16288         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
16289         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
16290         to...
16291         * common/environ.c: ... here.
16292         * environ.h: Moved to...
16293         * common/environ.h: ... here.
16295 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16297         * gdbarch.sh (pstring_ptr): New static function.
16298         (gdbarch_disassembler_options): Use it.
16299         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
16300         not valid_disassembler_option->name.
16301         * gdbarch.c: Regenerate.
16303 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16305         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
16307 2017-03-07  Pedro Alves  <palves@redhat.com>
16309         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
16311 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
16313         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
16314         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
16315         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
16316         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
16318 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
16320         * xtensa-linux-nat.c (fetch_gregs): Remove const.
16322 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
16324         * remote.c (remote_add_target_side_commands): Use range-based
16325         for loop.
16327 2017-03-03  Yao Qi  <yao.qi@linaro.org>
16329         PR gdb/21165
16330         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
16331         value is lazy.
16332         * valprint.c (common_val_print): Likewise.
16334 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
16336         * NEWS: Mention new set/show disassembler-options commands.
16337         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
16338         (prospective_options): New static variable.
16339         (gdb_disassembler::gdb_disassembler): Initialize
16340         m_di.disassembler_options.
16341         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
16342         (get_disassembler_options): New function.
16343         (set_disassembler_options): Likewise.
16344         (set_disassembler_options_sfunc): Likewise.
16345         (show_disassembler_options_sfunc): Likewise.
16346         (disassembler_options_completer): Likewise.
16347         (_initialize_disasm): Likewise.
16348         * disasm.h (get_disassembler_options): New prototype.
16349         (set_disassembler_options): Likewise.
16350         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16351         (gdbarch_verify_disassembler_options): Likewise.
16352         * gdbarch.c: Regenerate.
16353         * gdbarch.h: Likewise.
16354         * arm-tdep.c (num_disassembly_options): Delete.
16355         (set_disassembly_style): Likewise.
16356         (arm_disassembler_options): New static variable.
16357         (set_disassembly_style_sfunc): Convert short style name into long
16358         option name.  Call set_disassembler_options.
16359         (show_disassembly_style_sfunc): New function.
16360         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16361         set_gdbarch_verify_disassembler_options.
16362         (_initialize_arm_tdep): Delete regnames variable and update callers.
16363         (arm_disassembler_options): Initialize.
16364         (disasm_options): New variable.
16365         (num_disassembly_options): Rename from this...
16366         (num_disassembly_styles): ...to this.  Compute by scanning through
16367         disasm_options.
16368         (valid_disassembly_styles): Initialize using disasm_options.
16369         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16370         set_arm_regname_option.
16371         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16372         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16373         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16374         set_gdbarch_verify_disassembler_options.
16375         * s390-tdep.c (s390_disassembler_options): New static variable.
16376         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16377         set_gdbarch_verify_disassembler_options.
16379 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16381         * remote.c (remote_add_target_side_condition): Remove "struct"
16382         keyword from range-based for loop.
16384 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16386         * remote.c (remote_add_target_side_condition): Use range-based
16387         for loop.  Update comment.
16389 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16391         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16393 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16395         * regcache.c (regcache_raw_update): New function.
16396         (regcache_raw_read): Move code to regcache_raw_update.
16397         * regcache.h (regcache_raw_update): New declaration.
16398         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16400 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16402         * dwarf2read.c (create_debug_type_hash_table): Initialize
16403         header.signature and header.type_offset_in_tu.
16405 2017-02-24  Pedro Alves  <palves@redhat.com>
16407         * symtab.c (make_file_symbol_completion_list_1): Use
16408         add_symtab_completions.
16410 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16412         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16414 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16416         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16417         I386_MAX_REGISTER_SIZE.
16418         (i386_pseudo_register_write): Likewise.
16419         (i386_process_record): Likewise.
16420         * i387-tdep.c (i387_supply_xsave): Likewise.
16421         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16422         (store_register): Likewise.
16424 2017-02-23  Pedro Alves  <palves@redhat.com>
16426         * ada-lang.c: Include "common/function-view.h".
16427         (ada_iterate_over_symbols): Adjust to use function_view as
16428         callback type.
16429         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16430         (ada_make_symbol_completion_list): Use a lambda.
16431         (ada_exc_search_name_matches): Delete.
16432         (name_matches_regex): New.
16433         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16434         * compile/compile-c-support.c: Include "common/function-view.h".
16435         (print_one_macro): Change prototype to accept a ui_file pointer.
16436         (write_macro_definitions): Use a lambda.
16437         * dwarf2read.c: Include "common/function-view.h".
16438         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16439         (dw2_expand_symtabs_matching): Adjust to use function_view as
16440         callback type.
16441         * language.h: Include "common/function-view.h".
16442         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16443         function_view as callback type.
16444         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16445         * linespec.c: Include "common/function-view.h".
16446         (collect_info::add_symbol): New method.
16447         (struct symbol_and_data_callback, iterate_inline_only, struct
16448         symbol_matcher_data, iterate_name_matcher): Delete.
16449         (iterate_over_all_matching_symtabs): Adjust to use function_view
16450         as callback type and lambdas.
16451         (iterate_over_file_blocks): Adjust to use function_view as
16452         callback type.
16453         (decode_compound_collector): Now a class with private fields.
16454         (decode_compound_collector::release_symbols): New method.
16455         (collect_one_symbol): Rename to...
16456         (decode_compound_collector::operator()): ... this and adjust.
16457         (lookup_prefix_sym): decode_compound_collector construction bits
16458         move to decode_compound_collector ctor.  Pass the
16459         decode_compound_collector object directly as callback.  Remove
16460         cleanups and use decode_compound_collector::release_symbols
16461         instead.
16462         (symtab_collector): Now a class with private fields.
16463         (symtab_collector::release_symtabs): New method.
16464         (add_symtabs_to_list): Rename to...
16465         (symtab_collector::operator()): ... this and adjust.
16466         (collect_symtabs_from_filename): symtab_collector construction
16467         bits move to symtab_collector ctor.  Pass the symtab_collector
16468         object directly as callback.  Remove cleanups and use
16469         symtab_collector::release_symtabs instead.
16470         (collect_symbols): Delete.
16471         (add_matching_symbols_to_info): Use lambdas.
16472         * macrocmd.c (print_macro_callback): Delete.
16473         (info_macro_command): Use a lambda.
16474         (info_macros_command): Pass print_macro_definition as callable
16475         directly.
16476         (print_one_macro): Remove 'ignore' parameter.
16477         (macro_list_command): Adjust.
16478         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16479         (macro_for_each_data::user_data): Delete field.
16480         (foreach_macro): Adjust to call the function_view.
16481         (macro_for_each): Adjust to use function_view as callback type.
16482         (foreach_macro_in_scope): Adjust to call the function_view.
16483         (macro_for_each_in_scope): Adjust to use function_view as callback
16484         type.
16485         * macrotab.h: Include "common/function-view.h".
16486         (macro_callback_fn): Declare a prototype instead of a pointer.
16487         Remove "user_data" parameter.
16488         (macro_for_each, macro_for_each_in_scope): Adjust to use
16489         function_view as callback type.
16490         * psymtab.c (partial_map_expand_apply)
16491         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16492         Adjust to use function_view as callback type and to return bool.
16493         (psym_expand_symtabs_matching): Adjust to use function_view as
16494         callback types.
16495         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16496         to use function_view as callback type and to return bool.
16497         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16498         callback types.
16499         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16500         as callback types.
16501         * symfile.h: Include "common/function-view.h".
16502         (expand_symtabs_file_matcher_ftype)
16503         (expand_symtabs_symbol_matcher_ftype)
16504         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16505         return bool.
16506         (quick_symbol_functions::map_symtabs_matching_filename)
16507         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16508         function_view as callback type and return bool.
16509         (expand_symtabs_matching): Adjust to use function_view as callback
16510         type.
16511         (maintenance_expand_name_matcher)
16512         (maintenance_expand_file_matcher): Delete.
16513         (maintenance_expand_symtabs): Use lambdas.
16514         * symtab.c (iterate_over_some_symtabs): Adjust to use
16515         function_view as callback types and return bool.
16516         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16517         of a cleanup.
16518         (lookup_symtab_callback): Delete.
16519         (lookup_symtab): Use a lambda.
16520         (iterate_over_symbols): Adjust to use function_view as callback
16521         type.
16522         (struct search_symbols_data, search_symbols_file_matches)
16523         (search_symbols_name_matches): Delete.
16524         (search_symbols): Use a pair of lambdas.
16525         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16526         (symtab_expansion_callback): Delete.
16527         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16528         * symtab.h: Include "common/function-view.h".
16529         (iterate_over_some_symtabs): Adjust to use function_view as
16530         callback type and return bool.
16531         (iterate_over_symtabs): Adjust to use function_view as callback
16532         type.
16533         (symbol_found_callback_ftype): Remove 'data' parameter and return
16534         bool.
16535         (iterate_over_symbols): Adjust to use function_view as callback
16536         type.
16538 2017-02-23  Pedro Alves  <palves@redhat.com>
16540         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16541         (%.o) <unittests/%.c>: New pattern.
16542         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16543         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16544         * common/function-view.h: New file.
16545         * unittests/function-view-selftests.c: New file.
16546         * configure: Regenerate.
16548 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16550         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16551         inferior_ptid.
16552         * go32-nat.c (go32_thread_alive): Likewise.
16554 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16556         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16557         delete.
16559 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16561         * varobj.c (varobj_clear_saved_item): Use delete instead of
16562         xfree.
16563         (update_dynamic_varobj_children): Likewise.
16565 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16567         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16569 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16571         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16572         m_enum_value to 0 in default constructor.
16574 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16576         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16577         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16578         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16579         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16580         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16581         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16582         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16583         IS_STORE_CONDITIONAL_INSN.
16585 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16587         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16589 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16591         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16593 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16595         * dwarf2read.c (skip_one_die, read_attribute_value)
16596         (dwarf2_const_value_attr, dump_die_shallow)
16597         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16598         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16600 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16602         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16603         (dwarf_parse_macro_header): Accept DWARF version 5.
16604         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16606 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16608         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16609         DW_AT_GNU_*.
16610         * common/common-exceptions.h (enum errors): Likewise.
16611         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16612         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16613         (dwarf_expr_context::execute_stack_op): Likewise.
16614         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16615         Likewise.
16616         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16617         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16618         (show_entry_values_debug, call_site_to_target_addr)
16619         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16620         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16621         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16622         (value_of_dwarf_block_entry, indirect_pieced_value)
16623         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16624         (disassemble_dwarf_expression): Likewise.
16625         * dwarf2read.c (process_die, inherit_abstract_dies)
16626         (read_call_site_scope): Likewise.
16627         * gdbtypes.h (struct func_type, struct call_site_parameter)
16628         (struct call_site): Likewise.
16629         * stack.c (read_frame_arg): Likewise.
16630         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16632 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16634         * defs.h (read_unsigned_leb128): New declaration.
16635         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16636         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16637         (dwarf2_find_location_expression): Call also
16638         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16639         * dwarf2loc.h (dwarf2_version): New declaration.
16640         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16641         rnglists.
16642         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16643         .debug_rnglists.
16644         (struct dwop_section_names): Add loclists_dwo.
16645         (dwop_section_names): Add .debug_loclists.dwo.
16646         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16647         (struct dwarf2_per_cu_data): Add dwarf_version.
16648         (struct dwo_sections): Add loclists.
16649         (struct attr_abbrev): Add implicit_const.
16650         (read_indirect_line_string): New declaration.
16651         (read_unsigned_leb128): Delete declaration.
16652         (rcuh_kind): New definition.
16653         (read_and_check_comp_unit_head): Change parameter
16654         is_debug_types_section to section_kind.
16655         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16656         (read_comp_unit_head): Change parameter abfd to section, add parameter
16657         section_kind.  Handle DWARF-5.
16658         (error_check_comp_unit_head): Accept also DWARF version 5.
16659         (read_and_check_comp_unit_head): Change parameter
16660         is_debug_types_section to section_kind.
16661         (read_and_check_type_unit_head): Delete function.
16662         (read_abbrev_offset): Handle DWARF-5.
16663         (create_debug_type_hash_table): Add parameter section_kind.  Process
16664         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16665         comp_unit_head.
16666         (create_debug_types_hash_table): Update create_debug_type_hash_table
16667         caller.
16668         (create_all_type_units): Call create_debug_type_hash_table.
16669         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16670         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16671         caller.
16672         (skip_one_die): Handle DW_FORM_implicit_const.
16673         (dwarf2_rnglists_process): New function.
16674         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16675         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16676         (read_attribute_value): Handle DW_FORM_implicit_const,
16677         DW_FORM_line_strp.
16678         (read_attribute): Handle DW_FORM_implicit_const.
16679         (read_indirect_string_at_offset_from): New function from
16680         read_indirect_string_at_offset.
16681         (read_indirect_string_at_offset): Call
16682         read_indirect_string_at_offset_from.
16683         (read_indirect_line_string_at_offset): New function.
16684         (read_indirect_string): New function comment.
16685         (read_indirect_line_string): New function.
16686         (read_unsigned_leb128): Make it global.
16687         (dwarf2_string_attr): Handle DWARF-5.
16688         (add_include_dir_stub, read_formatted_entries): New functions.
16689         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16690         Handle DWARF-5.
16691         (per_cu_header_read_in): Update read_comp_unit_head caller.
16692         (dwarf2_version): New function.
16693         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16694         rnglists.
16695         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16696         fields.
16698 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16700         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16702 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16704         * dwarf2read.c (dwarf2_ranges_process): New function from
16705         dwarf2_ranges_read.
16706         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16707         dwarf2_ranges_process.
16709 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16711         * dwarf2read.c (create_debug_type_hash_table): New function from
16712         create_debug_types_hash_table.
16713         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16714         (create_all_type_units, open_and_init_dwo_file): Update
16715         create_debug_types_hash_table callers.
16717 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16719         PR gdb/16188
16720         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16721         refer to 'ap', not 'args'.
16723 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16724             Pedro Alves  <palves@redhat.com>
16726         PR gdb/16188
16727         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16728         calls succeeded.
16729         * fork-child.c (trace_start_error): New function.
16730         (trace_start_error_with_name): Likewise.
16731         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16732         * inf-ptrace.c (inf_ptrace_me): Likewise.
16733         * inferior.h (trace_start_error): New prototype.
16734         (trace_start_error_with_name): Likewise.
16736 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16738         PR gdb/21164
16739         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16740         NULL before using it.
16741         * symmisc.c (maintenance_print_symbols): Likewise.
16742         (maintenance_print_msymbols): Likewise.
16744 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16746         * NEWS: Add record Python bindings entry.
16748 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16750         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16751         py-record-full.o.
16752         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16753         * python/py-record-btrace.c, python/py-record-btrace.h,
16754         python/py-record-full.c, python/py-record-full.h: New file.
16755         * python/py-record.c: Add include for py-record-btrace.h and
16756         py-record-full.h.
16757         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16758         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16759         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16760         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16761         New definition.
16762         (gdbpy_initialize_btrace): New export.
16763         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16765 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16767         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16768         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16769         * python/py-record.c: New file.
16770         * python/python-internal.h (gdbpy_start_recording,
16771         gdbpy_current_recording, gdpy_stop_recording,
16772         gdbpy_initialize_record): New export.
16773         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16774         (python_GdbMethods): Add gdbpy_start_recording,
16775         gdbpy_current_recording and gdbpy_stop_recording.
16777 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16779         * record-btrace.c (record_btrace_record_method): New function.
16780         (init_record_btrace_ops): Initialize to_record_method.
16781         * record-full.c (record_full_record_method): New function.
16782         (init_record_full_ops, init_record_full_core_ops): Add
16783         record_full_record_method.
16784         * record.h (enum record_method): New enum.
16785         * target-debug.h (target_debug_print_enum_record_method: New define.
16786         * target-delegates.c: Regenerate.
16787         * target.c (target_record_method): New function.
16788         * target.h: Include record.h.
16789         (struct target_ops) <to_record_method>: New field.
16790         (target_record_method): New export.
16792 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16794         * record.h (record_start, record_stop): New export.
16795         * record.c (record_start, record_stop): New function.
16797 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16799         * btrace.c (btrace_fetch): Copy function call segments pointer
16800         into a vector.
16801         (btrace_clear): Clear the vector.
16802         (btrace_find_insn_by_number): Use binary search to find the correct
16803         function call segment.
16804         * btrace.h (brace_fun_p): New typedef.
16805         (struct btrace_thread_info) <functions>: New field.
16807 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16809         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16810         * btrace.c (btrace_decode_error): ... here.  New function.
16811         * btrace.h (btrace_decode_error): New export.
16813 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16815         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16816         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16817         btrace_find_insn_by_number): Remove special case for gaps.
16818         * btrace.h (btrace_insn_get_error): New export.
16819         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16820         * record-btrace.c (btrace_insn_history): Print number for gaps.
16821         (record_btrace_info, record_btrace_goto): Handle gaps.
16823 2017-02-14  Tom Tromey  <tom@tromey.com>
16825         PR python/13598:
16826         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16827         event.
16828         * python/py-evts.c (gdbpy_initialize_py_events): Add
16829         before_prompt registry.
16830         * python/py-events.h (events_object) <before_prompt>: New field.
16832 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16834         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16836 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16838         * symfile (_initialize_symfile): Add usage text to the load command's
16839         help text.
16841 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16843         * utils.c (defaulted_query): Don't query on secondary UIs.
16845 2017-02-10  Tom Tromey  <tom@tromey.com>
16847         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16849 2017-02-10  Tom Tromey  <tom@tromey.com>
16851         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16852         "cleanup" local.
16853         * python/py-type.c (typy_legacy_template_argument): Remove
16854         unnecessary "cleanup" local.
16856 2017-02-10  Tom Tromey  <tom@tromey.com>
16858         * python/python.c (do_start_initialization): New function, from
16859         _initialize_python.
16860         (_initialize_python): Call do_start_initialization.
16861         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16862         goto.
16864 2017-02-10  Tom Tromey  <tom@tromey.com>
16866         * python/py-prettyprint.c (pretty_print_one_value): Use
16867         gdbpy_ref.
16869 2017-02-10  Tom Tromey  <tom@tromey.com>
16871         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16872         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16873         gdbpy_ref.
16874         * python/py-type.c (field_new): Use gdbpy_ref.
16875         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16876         gdbpy_ref.
16877         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16878         (py_free_pspace): Likewise.
16879         (pspace_to_pspace_object): Likewise.
16880         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16881         (py_free_objfile): Likewise.
16882         (objfile_to_objfile_object): Likewise.
16883         * python/py-inferior.c (delete_thread_object): Use
16884         gdbpy_ref.
16885         (infpy_read_memory): Likewise.
16886         (py_free_inferior): Likewise.
16887         * python/py-evtregistry.c (create_eventregistry_object): Use
16888         gdbpy_ref.
16889         * python/py-event.c (create_event_object): Use gdbpy_ref.
16891 2017-02-10  Tom Tromey  <tom@tromey.com>
16893         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16894         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16895         used.
16896         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16897         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16898         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16899         python/py-framefilter.c, python/py-function.c,
16900         python/py-inferior.c, python/py-infevents.c,
16901         python/py-linetable.c, python/py-newobjfileevent.c,
16902         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16903         python/py-signalevent.c, python/py-stopevent.c,
16904         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16905         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16906         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16907         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16909 2017-02-10  Tom Tromey  <tom@tromey.com>
16911         * ui-out.h (ui_out_emit_type): New class.
16912         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16913         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16914         and ui_out_emit_tuple.
16915         (enumerate_locals): Likewise.
16916         (py_mi_print_variables, py_print_locals, py_print_args): Use
16917         ui_out_emit_list.
16918         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16919         ui_out_emit_list.
16920         * common/gdb_optional.h: New file.
16922 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16924         * MAINTAINERS (Write After Approval): Update my e-mail address.
16926 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16928         PR gdb/21122
16929         * breakpoint.c (_initialize_breakpoint): Update the help description
16930         of the 'commands' command to indicate that it takes a list argument.
16932 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16934         * interps.c (current_interp_set_logging): Remove "return".
16936 2017-02-09  Gary Benson  <gbenson@redhat.com>
16938         * symtab.c (add_symtab_completions): Prevent NULL pointer
16939         dereference.
16941 2017-02-08  Pedro Alves  <palves@redhat.com>
16943         * interps.c (interp::interp): Remove reference to quiet_p.
16944         (interp_set): Make static.  Remove dead "Switching to" output
16945         code.
16946         (interp_quiet_p, interp_set_quiet): Delete.
16947         (interpreter_exec_cmd): Don't set the interpreter quiet.
16948         * interps.h (interp_quiet_p): Make static.
16949         (class interp) <quiet_p>: Remove field
16951 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16953         * cli/cli-decode.c (find_command_name_length): Make it extern.
16954         * cli/cli-decode.h (find_command_name_length): Declare.
16955         * cli/cli-script.c (command_name_equals, line_first_arg):
16956         New functions.
16957         (process_next_line): Use cli-decode to parse command names.
16958         (build_command_line): Make args a constant pointer.
16960 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16962         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16963         Remove case-insensitive search.
16965 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16967         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16968         at the end of the line.  Avoids an ARI warning.
16970 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16972         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16973         rdseed instructions.
16974         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16976 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16978         PR tdep/20936
16979         Provide and use sparc32 and sparc64 target description XML files.
16980         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16981         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16982         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16983         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16984         * features/sparc/sparc32-solaris.xml: New file.
16985         * features/sparc/sparc64-solaris.xml: New file.
16986         * features/sparc/sparc32-solaris.c: Generated.
16987         * features/sparc/sparc64-solaris.c: Generated.
16988         * sparc-tdep.h: Account for differences in target descriptions.
16989         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16990         (sparc32_register_type): Use target provided registers.
16991         (validate_tdesc_registers): New function.
16992         (sparc32_gdbarch_init): Use tdesc_has_registers.
16993         Set pseudoregister functions.
16994         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16995         (sparc64_register_type): Use target provided registers.
16996         (sparc64_init_abi): Set pseudoregister functions.
16998 2017-02-03  Tom Tromey  <tom@tromey.com>
17000         PR rust/21097:
17001         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
17002         with a single member.
17004 2017-02-03  Pedro Alves  <palves@redhat.com>
17006         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
17007         (cli_interp_base::~cli_interp_base): New.
17008         (cli_interp): New struct.
17009         (as_cli_interp): Cast the interp itself to cli_interp.
17010         (cli_interpreter_pre_command_loop): Rename to ...
17011         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
17012         parameter.
17013         (cli_interpreter_init): Rename to ...
17014         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
17015         boolean.  Make extern.
17016         (cli_interpreter_resume): Rename to ...
17017         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
17018         extern.
17019         (cli_interpreter_suspend): Rename to ...
17020         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
17021         extern.
17022         (cli_interpreter_exec): Rename to ...
17023         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
17024         extern.
17025         (cli_interpreter_supports_command_editing): Rename to ...
17026         (cli_interp_base::supports_command_editing): ... this.  Remove
17027         'interp' parameter.  Make extern.
17028         (cli_ui_out): Rename to ...
17029         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
17030         Make extern.
17031         (cli_set_logging): Rename to ...
17032         (cli_interp_base::set_logging): ... this.  Remove 'interp'
17033         parameter.  Make extern.
17034         (cli_interp_procs): Delete.
17035         (cli_interp_factory): Adjust to use "new".
17036         * cli/cli-interp.h: Include "interps.h".
17037         (struct cli_interp_base): New struct.
17038         * interps.c (struct interp): Delete.  Fields moved to interps.h.
17039         (interp_new): Delete.
17040         (interp::interp, interp::~interp): New.
17041         (interp_set): Use bool, and return void.  Assume the interpreter
17042         has suspend, init and resume methods, and that the all return
17043         void.
17044         (set_top_level_interpreter): interp_set returns void.
17045         (interp_ui_out): Adapt.
17046         (current_interp_set_logging): Adapt.
17047         (interp_data): Delete.
17048         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
17049         (interp_exec): Adapt.
17050         (top_level_interpreter_data): Delete.
17051         * interps.h (interp_init_ftype, interp_resume_ftype)
17052         (interp_suspend_ftype, interp_exec_ftype)
17053         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
17054         (class interp): New.
17055         (interp_new): Delete.
17056         (interp_set): Now returns void.  Use bool.
17057         (interp_data, top_level_interpreter_data): Delete.
17058         * mi/mi-common.h: Include interps.h.
17059         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
17060         init, resume, suspect, exec, interp_ui_out, set_logging and
17061         pre_command_loop methods.
17062         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
17063         (mi_interpreter_init): Rename to ...
17064         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
17065         bool, return void and make extern.  Adjust.
17066         (mi_interpreter_resume): ... Rename to ...
17067         (mi_interp::resume): ... this.  Remove the 'data' parameter,
17068         return void and make extern.  Adjust.
17069         (mi_interpreter_suspend): ... Rename to ...
17070         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
17071         return void and make extern.  Adjust.
17072         (mi_interpreter_exec): ... Rename to ...
17073         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
17074         extern.  Adjust.
17075         (mi_interpreter_pre_command_loop): ... Rename to ...
17076         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
17077         parameter and make extern.
17078         (mi_on_normal_stop_1): Adjust.
17079         (mi_ui_out): Rename to ...
17080         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
17081         parameter and make extern.  Adjust.
17082         (mi_set_logging): Rename to ...
17083         (mi_interp::set_logging): ... this.  Remove the 'interp'
17084         parameter and make extern.  Adjust.
17085         (mi_interp_procs): Delete.
17086         (mi_interp_factory): Adjust to use 'new'.
17087         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
17088         (mi_print_exception, mi_execute_command, mi_load_progress):
17089         Adjust.
17090         * tui/tui-interp.c (tui_interp): New class.
17091         (as_tui_interp): Return a tui_interp pointer.
17092         (tui_on_normal_stop, tui_on_signal_received)
17093         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
17094         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
17095         to use interp::interp_ui_out.
17096         (tui_init): Rename to ...
17097         (tui_interp::init): ... this.  Remove the 'self' parameter, use
17098         bool, return void and make extern.  Adjust.
17099         (tui_resume): Rename to ...
17100         (tui_interp::resume): ... this.  Remove the 'data' parameter,
17101         return void and make extern.  Adjust.
17102         (tui_suspend): Rename to ...
17103         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
17104         return void and make extern.  Adjust.
17105         (tui_ui_out): Rename to ...
17106         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
17107         parameter, and make extern.  Adjust.
17108         (tui_exec): Rename to ...
17109         (tui_interp::exec): ... this.  Remove the 'data' parameter and
17110         make extern.
17111         (tui_interp_procs): Delete.
17112         (tui_interp_factory): Use "new".
17114 2017-02-02  Tom Tromey  <tom@tromey.com>
17116         * rust-exp.y (ends_raw_string, space_then_number)
17117         (rust_identifier_start_p): Return bool.
17118         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
17119         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
17120         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
17121         (rust_chartype_p): Return bool.
17122         (val_print_struct, rust_print_struct_def, rust_print_type):
17123         Update.
17124         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
17125         Return bool.
17127 2017-02-02  Tom Tromey  <tom@tromey.com>
17129         * rust-lang.c: Reindent.
17131 2017-02-02  Tom Tromey  <tom@tromey.com>
17133         * rust-lang.h (rust_crate_for_block): Update.
17134         * rust-lang.c (rust_crate_for_block): Return std::string.
17135         (rust_get_disr_info): Use std:;string, not
17136         gdb::unique_xmalloc_ptr.
17137         * rust-exp.y (crate_name): Update.
17139 2017-02-02  Pedro Alves  <palves@redhat.com>
17141         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
17142         field out of gdb_disassembler_test and make it static.
17144 2017-02-02  Pedro Alves  <palves@redhat.com>
17146         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
17147         mi1_interp and mi_interp fields.
17149 2017-02-02  Pedro Alves  <palves@redhat.com>
17151         * cli/cli-interp.c (struct saved_output_files, saved_output):
17152         Moved from cli/cli-logging.c.
17153         (cli_set_logging): New function.
17154         (cli_interp_procs): Install cli_set_logging.
17155         * cli/cli-interp.h (make_logging_output, cli_set_logging):
17156         Declare.
17157         * cli/cli-logging.c (struct saved_output_files, saved_output):
17158         Moved to cli/cli-interp.c.
17159         (pop_output_files): Don't save outputs here.
17160         (make_logging_output): New function.
17161         (handle_redirections): Don't build tee nor save previous outputs
17162         here.
17163         * interps.c (current_interp_set_logging): Change prototype.
17164         Assume there's always a set_logging_proc method installed.
17165         * interps.h (interp_set_logging_ftype): Change prototype.
17166         (current_interp_set_logging): Change prototype and adjust comment.
17167         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
17168         use make_logging_output.
17169         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
17170 2017-02-02  Pedro Alves  <palves@redhat.com>
17172         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
17173         from ...
17174         (set_logging_overwrite): ... here.
17175         (logging_no_redirect_file): Delete.
17176         (set_logging_redirect): Don't handle redirection on the fly.
17177         Instead warn that "logging off" / "logging on" is necessary.
17178         (pop_output_files): Delete references to logging_no_redirect_file.
17179         (show_logging_command): Always speak in terms of what will happen
17180         once logging is reenabled.
17182 2017-02-02  Pedro Alves  <palves@redhat.com>
17184         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
17186 2017-02-02  Pedro Alves  <palves@redhat.com>
17188         * disasm.c (gdb_pretty_print_insn): Rename to ...
17189         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
17190         Remove gdbarch parameter.  Adapt to clear the object's buffers
17191         instead of allocating new buffers, and to print using the object's
17192         gdb_disassembler instead of calling gdb_print_insn.
17193         (dump_insns): Use gdb_pretty_print_disassembler.
17194         * disasm.h (gdb_pretty_print_insn): Delete declaration.
17195         (gdb_pretty_print_disassembler): New class.
17196         * record-btrace.c (btrace_insn_history): Use
17197         gdb_pretty_print_disassembler.
17199 2017-02-02  Pedro Alves  <palves@redhat.com>
17201         * ada-lang.c (type_as_string): Use string_file.
17202         * ada-valprint.c (ada_print_floating): Use string_file.
17203         * ada-varobj.c (ada_varobj_scalar_image)
17204         (ada_varobj_get_value_image): Use string_file.
17205         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
17206         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
17207         * breakpoint.c (update_inserted_breakpoint_locations)
17208         (insert_breakpoint_locations, reattach_breakpoints)
17209         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
17210         (print_it_watchpoint): Use string_file.
17211         (save_breakpoints): Use stdio_file.
17212         * c-exp.y (oper): Use string_file.
17213         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
17214         tee_file.
17215         (pop_output_files): Use delete.
17216         (handle_redirections): Use stdio_file and tee_file.
17217         * cli/cli-setshow.c (do_show_command): Use string_file.
17218         * compile/compile-c-support.c (c_compute_program): Use
17219         string_file.
17220         * compile/compile-c-symbols.c (generate_vla_size): Take a
17221         'string_file &' instead of a 'ui_file *'.
17222         (generate_c_for_for_one_variable): Take a 'string_file &' instead
17223         of a 'ui_file *'.  Use string_file.
17224         (generate_c_for_variable_locations): Take a 'string_file &'
17225         instead of a 'ui_file *'.
17226         * compile/compile-internal.h (generate_c_for_for_one_variable):
17227         Take a 'string_file &' instead of a 'ui_file *'.
17228         * compile/compile-loc2c.c (push, pushf, unary, binary)
17229         (print_label, pushf_register_address, pushf_register)
17230         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
17231         'ui_file *'.  Adjust.
17232         * compile/compile.c (compile_to_object): Use string_file.
17233         * compile/compile.h (compile_dwarf_expr_to_c)
17234         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
17235         'ui_file *'.
17236         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
17237         (replace_typedefs_qualified_name): Use string_file and
17238         obstack_copy0.
17239         * disasm.c (gdb_pretty_print_insn): Use string_file.
17240         (gdb_disassembly): Adjust reference the null_stream global.
17241         (do_ui_file_delete): Delete.
17242         (gdb_insn_length): Use null_stream.
17243         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
17244         * dwarf2loc.c (dwarf2_compile_property_to_c)
17245         (locexpr_generate_c_location, loclist_generate_c_location): Take a
17246         'string_file &' instead of a 'ui_file *'.
17247         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
17248         * dwarf2read.c (do_ui_file_peek_last): Delete.
17249         (dwarf2_compute_name): Use string_file.
17250         * event-top.c (gdb_setup_readline): Use stdio_file.
17251         * gdbarch.sh (verify_gdbarch): Use string_file.
17252         * gdbtypes.c (safe_parse_type): Use null_stream.
17253         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
17254         string_file.
17255         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
17256         'string_file *' instead of a 'ui_file *'.
17257         (gdbscm_arch_disassemble): Use string_file.
17258         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
17259         * guile/scm-ports.c (class ioscm_file_port): Now a class that
17260         inherits from ui_file.
17261         (ioscm_file_port_delete, ioscm_file_port_rewind)
17262         (ioscm_file_port_put): Delete.
17263         (ioscm_file_port_write): Rename to ...
17264         (ioscm_file_port::write): ... this.  Remove file_port_magic
17265         checks.
17266         (ioscm_file_port_new): Delete.
17267         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
17268         ui_file_up.
17269         * guile/scm-type.c (tyscm_type_name): Use string_file.
17270         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
17271         Use string_file.
17272         * infcmd.c (print_return_value_1): Use string_file.
17273         * infrun.c (print_target_wait_results): Use string_file.
17274         * language.c (add_language): Use string_file.
17275         * location.c (explicit_to_string_internal): Use string_file.
17276         * main.c (captured_main_1): Use null_file.
17277         * maint.c (maintenance_print_architecture): Use stdio_file.
17278         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
17279         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
17280         event_channel>: Change type to mi_console_file pointer.
17281         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
17282         (mi_console_file_delete): Delete.
17283         (struct mi_console_file): Delete.
17284         (mi_console_file_magic): Delete.
17285         (mi_console_file_new): Delete.
17286         (mi_console_file::mi_console_file): New.
17287         (mi_console_file_delete): Delete.
17288         (mi_console_file_fputs): Delete.
17289         (mi_console_file::write): New.
17290         (mi_console_raw_packet): Delete.
17291         (mi_console_file::flush): New.
17292         (mi_console_file_flush): Delete.
17293         (mi_console_set_raw): Rename to ...
17294         (mi_console_file::set_raw): ... this.
17295         * mi/mi-console.h (class mi_console_file): New class.
17296         (mi_console_file_new, mi_console_set_raw): Delete.
17297         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
17298         (mi_set_logging): Use delete and tee_file.  Adjust.
17299         * mi/mi-main.c (output_register): Use string_file.
17300         (mi_cmd_data_evaluate_expression): Use string_file.
17301         (mi_cmd_data_read_memory): Use string_file.
17302         (mi_cmd_execute, print_variable_or_computed): Use string_file.
17303         * mi/mi-out.c (mi_ui_out::main_stream): New.
17304         (mi_ui_out::rewind): Use main_stream and
17305         string_file.
17306         (mi_ui_out::put): Use main_stream and string_file.
17307         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17308         Allocate a 'string_file' instead.
17309         (mi_out_new): Don't allocate a mem_fileopen stream here.
17310         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17311         (mi_ui_out::main_stream): Declare method.
17312         * printcmd.c (eval_command): Use string_file.
17313         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
17314         * python/py-arch.c (archpy_disassemble): Use string_file.
17315         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
17316         * python/py-frame.c (frapy_str): Use string_file.
17317         * python/py-framefilter.c (py_print_type, py_print_single_arg):
17318         Use string_file.
17319         * python/py-type.c (typy_str): Use string_file.
17320         * python/py-unwind.c (unwind_infopy_str): Use string_file.
17321         * python/py-value.c (valpy_str): Use string_file.
17322         * record-btrace.c (btrace_insn_history): Use string_file.
17323         * regcache.c (regcache_print): Use stdio_file.
17324         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
17325         * remote.c (escape_buffer): Use string_file.
17326         * rust-lang.c (rust_get_disr_info): Use string_file.
17327         * serial.c (serial_open_ops_1): Use stdio_file.
17328         (do_serial_close): Use delete.
17329         * stack.c (print_frame_arg): Use string_file.
17330         (print_frame_args): Remove local mem_fileopen stream, not used.
17331         (print_frame): Use string_file.
17332         * symmisc.c (maintenance_print_symbols): Use stdio_file.
17333         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
17334         Take a 'string_file *' instead of a 'ui_file *'.
17335         * top.c (new_ui): Use stdio_file and stderr_file.
17336         (free_ui): Use delete.
17337         (execute_command_to_string): Use string_file.
17338         (quit_confirm): Use string_file.
17339         * tracepoint.c (collection_list::append_exp): Use string_file.
17340         * tui/tui-disasm.c (tui_disassemble): Use string_file.
17341         * tui/tui-file.c: Don't include "ui-file.h".
17342         (enum streamtype, struct tui_stream): Delete.
17343         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
17344         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
17345         (tui_file::tui_file): New method.
17346         (tui_file_fputs): Delete.
17347         (tui_file_get_strbuf): Delete.
17348         (tui_file::puts): New method.
17349         (tui_file_adjust_strbuf): Delete.
17350         (tui_file_flush): Delete.
17351         (tui_file::flush): New method.
17352         * tui/tui-file.h: Tweak intro comment.
17353         Include ui-file.h.
17354         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17355         (tui_file_adjust_strbuf): Delete declarations.
17356         (class tui_file): New class.
17357         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17358         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17359         (tui_register_format): Use string_stream.
17360         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17361         (tui_get_function_from_frame): Use string_file.
17362         * typeprint.c (type_to_string): Use string_file.
17363         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17364         (null_stream): New global.
17365         (ui_file_delete): Delete.
17366         (ui_file::ui_file): New.
17367         (null_file_isatty): Delete.
17368         (ui_file::~ui_file): New.
17369         (null_file_rewind): Delete.
17370         (ui_file::printf): New.
17371         (null_file_put): Delete.
17372         (null_file_flush): Delete.
17373         (ui_file::putstr): New.
17374         (null_file_write): Delete.
17375         (ui_file::putstrn): New.
17376         (null_file_read): Delete.
17377         (ui_file::putc): New.
17378         (null_file_fputs): Delete.
17379         (null_file_write_async_safe): Delete.
17380         (ui_file::vprintf): New.
17381         (null_file_delete): Delete.
17382         (null_file::write): New.
17383         (null_file_fseek): Delete.
17384         (null_file::puts): New.
17385         (ui_file_data): Delete.
17386         (null_file::write_async_safe): New.
17387         (gdb_flush, ui_file_isatty): Adjust.
17388         (ui_file_put, ui_file_rewind): Delete.
17389         (ui_file_write): Adjust.
17390         (ui_file_write_for_put): Delete.
17391         (ui_file_write_async_safe, ui_file_read): Adjust.
17392         (ui_file_fseek): Delete.
17393         (fputs_unfiltered): Adjust.
17394         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17395         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17396         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17397         (set_ui_file_data): Delete.
17398         (string_file::~string_file, string_file::write)
17399         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17400         (do_ui_file_as_string, ui_file_as_string): Delete.
17401         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17402         (struct mem_file): Delete.
17403         (mem_file_new): Delete.
17404         (stdio_file::stdio_file): New.
17405         (mem_file_delete): Delete.
17406         (stdio_file::stdio_file): New.
17407         (mem_fileopen): Delete.
17408         (stdio_file::~stdio_file): New.
17409         (mem_file_rewind): Delete.
17410         (stdio_file::set_stream): New.
17411         (mem_file_put): Delete.
17412         (stdio_file::open): New.
17413         (mem_file_write): Delete.
17414         (stdio_file_magic, struct stdio_file): Delete.
17415         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17416         (stdio_file::flush): New.
17417         (stdio_file_read): Rename to ...
17418         (stdio_file::read): ... this.  Adjust.
17419         (stdio_file_write): Rename to ...
17420         (stdio_file::write): ... this.  Adjust.
17421         (stdio_file_write_async_safe): Rename to ...
17422         (stdio_file::write_async_safe) ... this.  Adjust.
17423         (stdio_file_fputs): Rename to ...
17424         (stdio_file::puts) ... this.  Adjust.
17425         (stdio_file_isatty): Delete.
17426         (stdio_file_fseek): Delete.
17427         (stdio_file::isatty): New.
17428         (stderr_file_write): Rename to ...
17429         (stderr_file::write) ... this.  Adjust.
17430         (stderr_file_fputs): Rename to ...
17431         (stderr_file::puts) ... this.  Adjust.
17432         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17433         (stderr_file::stderr_file): New.
17434         (tee_file_magic): Delete.
17435         (struct tee_file): Delete.
17436         (tee_file::tee_file): New.
17437         (tee_file_new): Delete.
17438         (tee_file::~tee_file): New.
17439         (tee_file_delete): Delete.
17440         (tee_file_flush): Rename to ...
17441         (tee_file::flush): ... this.  Adjust.
17442         (tee_file_write): Rename to ...
17443         (tee_file::write): ... this.  Adjust.
17444         (tee_file::write_async_safe): New.
17445         (tee_file_fputs): Rename to ...
17446         (tee_file::puts): ... this.  Adjust.
17447         (tee_file_isatty): Rename to ...
17448         (tee_file::isatty): ... this.  Adjust.
17449         * ui-file.h (struct obstack, struct ui_file): Don't
17450         forward-declare.
17451         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17452         (ui_file_write_ftype)
17453         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17454         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17455         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17456         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17457         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17458         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17459         (set_ui_file_fseek): Delete.
17460         (ui_file_data, ui_file_delete, ui_file_rewind)
17461         (struct ui_file): New.
17462         (ui_file_up): New.
17463         (class null_file): New.
17464         (null_stream): Declare.
17465         (ui_file_write_for_put, ui_file_put): Delete.
17466         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17467         Delete.
17468         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17469         (gdb_fopen, tee_file_new): Delete.
17470         (struct string_file): New.
17471         (struct stdio_file): New.
17472         (stdio_file_up): New.
17473         (struct stderr_file): New.
17474         (class tee_file): New.
17475         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17476         of a 'ui_file *'.  Adjust.
17477         * ui-out.h (class ui_out) <field_stream>: Likewise.
17478         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17479         (null_stream): Delete.
17480         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17481         Adjust.
17482         * utils.h (struct ui_file): Delete forward declaration..
17483         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17484         (error_stream): Take a 'string_file &' instead of a
17485         'ui_file *'.
17486         * varobj.c (varobj_value_get_print_value): Use string_file.
17487         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17488         * gdbarch.c: Regenerate.
17490 2017-02-02  Pedro Alves  <palves@redhat.com>
17492         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17493         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17494         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17495         Adjust to call gdb_print_insn instead of
17496         gdb_disassembler::print_insn.
17497         (dump_insns, do_mixed_source_and_assembly_deprecated)
17498         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17499         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17500         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17501         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17502         declaration.
17503         (gdb_pretty_print_insn): Re-add declaration.
17504         * record-btrace.c (btrace_insn_history): Don't allocate a
17505         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17507 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17509         * disasm.h (gdb_disassembly): Remove file_string parameter.
17510         * disasm.c (gdb_disassembly): Likewise.
17511         * cli/cli-cmds.c (print_disassembly): Adapt.
17512         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17513         * stack.c (do_gdb_disassembly): Likewise.
17515 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17517         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17518         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17519         targets.  And if the implicit value is longer than needed, extract
17520         the first bytes instead of the "least significant" ones.
17522 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17524         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17525         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17526         (btrace_fetch): Assert can_access_registers_ptid.
17527         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17528         validate_registers_access.
17530 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17532         * gdbthread.h (can_access_registers_ptid): New.
17533         * thread.c (can_access_registers_ptid): New.
17535 2017-02-01  Pedro Alves  <palves@redhat.com>
17537         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17539 2017-01-31  Pedro Alves  <palves@redhat.com>
17541         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17542         Fix typos.
17544 2017-01-31  Pedro Alves  <palves@redhat.com>
17546         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17547         not used.
17549 2017-01-31  Pedro Alves  <palves@redhat.com>
17551         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17553 2017-01-31  Pedro Alves  <palves@redhat.com>
17555         * common/scoped_restore.h
17556         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17557         change the value's parameter type to T2.
17558         (make_scoped_restore): Likewise.
17560 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17561             Richard Henderson  <rth@redhat.com>
17563         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17564         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17565         GS_BASE for older kernels.
17566         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17567         GS_BASE for older kernels.
17568         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17569         and GS_BASE to the offset table.
17570         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17571         system register group.
17572         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17573         for older kernels.
17574         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17575         amd64 ABI.
17576         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17577         AMD64_GSBASE_REGNUM.
17578         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17579         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17580         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17581         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17582         i386/64bit-segments.xml in those rules.
17583         * features/i386/64bit-segments.xml: New file.
17584         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17585         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17586         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17587         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17588         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17589         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17590         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17591         * features/i386/amd64-avx-linux.c: Regenerated.
17592         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17593         * features/i386/amd64-avx-mpx.c: Regenerated.
17594         * features/i386/amd64-avx512-linux.c: Regenerated.
17595         * features/i386/amd64-linux.c: Regenerated.
17596         * features/i386/amd64-mpx-linux.c: Regenerated.
17597         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17598         * features/i386/i386-avx-mpx.c: Regenerated.
17599         * features/i386/x32-avx-linux.c: Regenerated.
17600         * features/i386/x32-avx512-linux.c: Regenerated.
17601         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17602         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17603         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17604         * regformats/i386/amd64-linux.dat: Regenerated.
17605         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17606         * regformats/i386/x32-avx-linux.dat: Regenerated.
17607         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17608         * regformats/i386/x32-linux.dat: Regenerated.
17610 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17612         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17613         Set to AMD64_NUM_REGS.
17615 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17617         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17618         that checks validity of a register number.
17620 2017-01-27  Kees Cook  <keescook@google.com>
17622         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17623         fetch_fpregs if target has fpa registers.
17624         (arm_linux_store_inferior_registers): Call store_fpregs if target
17625         has fpa registers.
17627 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17629         * cris-tdep.c (cris_gdbarch_init): Remove check for
17630         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17632 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17634         * corelow.c (get_core_register_section): Check for regset
17635         existence before checking for REGSET_VARIABLE_SIZE.
17637 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17638             Pedro Alves  <palves@redhat.com>
17640         PR gdb/20939
17641         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17642         call memory_error, save memaddr instead.
17643         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17644         negative, cal memory_error.
17645         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17647 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17649         * disasm-selftests.c (memory_error_test): New function.
17650         (_initialize_disasm_selftests): Register memory_error_test.
17652 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17654         * Makefile.in (SFILES): Add disasm-selftests.c and
17655         selftest-arch.c.
17656         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17657         * disasm-selftests.c: New file.
17658         * selftest-arch.c: New file.
17659         * selftest-arch.h: New file.
17661 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17663         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17664         to bfd_arch_mep.  Don't return 0 if section is not
17665         found.  Call print_insn_mep.
17667 2017-01-26  Pedro Alves  <palves@redhat.com>
17668             Yao Qi  <yao.qi@linaro.org>
17670         * arm-tdep.c: Include "disasm.h".
17671         (gdb_print_insn_arm): Update code to get gdbarch.
17672         * disasm.c (dis_asm_read_memory): Change it to
17673         gdb_disassembler::dis_asm_read_memory.
17674         (dis_asm_memory_error): Likewise.
17675         (dis_asm_print_address): Likewise.
17676         (gdb_pretty_print_insn): Change it to
17677         gdb_disassembler::pretty_print_insn.
17678         (dump_insns): Add one argument gdb_disassemlber.  All
17679         callers updated.
17680         (do_mixed_source_and_assembly_deprecated): Likewise.
17681         (do_mixed_source_and_assembly): Likewise.
17682         (do_assembly_only): Likewise.
17683         (gdb_disassembler::gdb_disassembler): New.
17684         (gdb_disassembler::print_insn): New.
17685         * disasm.h (class gdb_disassembler): New.
17686         (gdb_pretty_print_insn): Remove declaration.
17687         (gdb_disassemble_info): Likewise.
17688         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17689         (gdbscm_disasm_read_memory_worker): Update.
17690         (gdbscm_disasm_read_memory): Update.
17691         (gdbscm_disasm_memory_error): Remove.
17692         (gdbscm_disasm_print_address): Remove.
17693         (gdbscm_disassembler::gdbscm_disassembler): New.
17694         (gdbscm_print_insn_from_port): Update.
17695         * mips-tdep.c: Include disasm.h.
17696         (gdb_print_insn_mips): Update code to get gdbarch.
17697         * record-btrace.c (btrace_insn_history): Update.
17698         * spu-tdep.c: Include disasm.h.
17699         (struct spu_dis_asm_data): Remove.
17700         (struct spu_dis_asm_info): New.
17701         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17702         SPU id.
17703         (gdb_print_insn_spu): Cast disassemble_info to
17704         spu_dis_asm_info.
17706 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17708         * disasm.c (do_ui_file_delete): Delete.
17709         (gdb_insn_length): Move code creating stream to ...
17710         * utils.c (null_stream): ... here.  New function.
17711         * utils.h (null_stream): Declare.
17713 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17715         * python/py-inferior.c (find_thread_object): Return directly
17716         from the loop.  Remove "found" variable.
17718 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17720         GDB 7.12.1 released.
17722 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17724         * python/py-function.c (fnpy_call): Reorder declarations to have
17725         the gdbpy_enter object declared first.
17726         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17728 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17730         PR python/21068
17731         * python/python-internal.h (PyMem_RawMalloc): Define for
17732         Python < 3.4.
17733         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17734         PyMem_RawMalloc instead of PyMem_Malloc.
17736 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17737             Luis Machado  <lgustavo@codesourcery.com>
17739         * NEWS (New commands): Mention flash-erase.
17740         (New MI commands): Mention target-flash-erase.
17741         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17742         command.
17743         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17744         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17745         * target.c (flash_erase_command): New function.
17746         (initialize_targets): Add new flash-erase command.
17747         * target.h (flash_erase_command): New declaration.
17749 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17751         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17752         HAVE_SYS_PROCFS_H is defined.
17754 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17756         * remote.c (struct cached_reg): Change data into a pointer.
17757         * (stop_reply_dtr): Free data pointers before deleting vector.
17758         (process_stop_reply): Likewise.
17759         (remote_parse_stop_reply): Allocate space for data
17761 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17763         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17764         MAX_REGISTER_SIZE.
17765         (amd64_pseudo_register_read_value): Likewise.
17766         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17767         (store_register_using_P): Likewise.
17768         * regcache.c (regcache_xfer_part): Likewise.
17770 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17772         Split real and pseudo registers.
17773         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17774         (sparc32_pseudo_regnum): New enum.
17775         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17776         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17777         (SPARC32_CP0_REGISTERS): New macro.
17778         (sparc32_pseudo_register_name): New function.
17779         (sparc32_register_name): Use sparc32_pseudo_register_name.
17780         (sparc32_pseudo_register_type): New function.
17781         (sparc32_register_type): Use sparc32_pseudo_register_type.
17782         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17783         pseudo register numbers.
17784         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17785         (SPARC64_CP0_REGISTERS): New macro.
17786         (sparc64_pseudo_register_name): New function.
17787         (sparc64_register_name): Use sparc64_pseudo_register_name.
17788         (sparc64_pseudo_register_type): New function.
17789         (sparc64_register_type): Use sparc64_pseudo_register_type.
17790         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17791         pseudo register numbers.
17792         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17793         sparc64_store_arguments): Handle pseudo register numbers.
17795 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17797         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17798         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17799         output.
17800         (getpkt_or_notif_sane_1): Likewise.
17802 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17804         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17805         of CC.  Pass "-x c++-header" instead of "-x c".
17807 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17809         * remote.c (remote_can_async_p): Update comment.
17811 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17813         * linux-nat.c (linux_nat_can_async_p): Update comment.
17815 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17817         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17819 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17821         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17823 2017-01-10  Tom Tromey  <tom@tromey.com>
17825         * python/py-type.c (typy_legacy_template_argument): Update.
17826         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17827         ~demangle_parse_info): Declare new members.
17828         (cp_demangled_name_to_comp): Return unique_ptr.
17829         (cp_demangled_name_parse_free)
17830         (make_cleanup_cp_demangled_name_parse_free)
17831         (cp_new_demangle_parse_info): Remove.
17832         * cp-support.c (do_demangled_name_parse_free_cleanup)
17833         (make_cleanup_cp_demangled_name_parse_free): Remove.
17834         (inspect_type, cp_canonicalize_string_full)
17835         (cp_canonicalize_string): Update.
17836         (mangled_name_to_comp): Change return type.
17837         (cp_class_name_from_physname, method_name_from_physname)
17838         (cp_func_name, cp_remove_params): Update.
17839         * cp-name-parser.y (demangle_parse_info): New constructor, from
17840         cp_new_demangle_parse_info.
17841         (~demangle_parse_info): New destructor, from
17842         cp_demangled_name_parse_free.
17843         (cp_merge_demangle_parse_infos): Update.
17844         (cp_demangled_name_to_comp): Change return type.
17846 2017-01-10  Tom Tromey  <tom@tromey.com>
17848         * top.c (prevent_dont_repeat): Change return type.
17849         * python/python.c (execute_gdb_command): Use std::string.
17850         Update.
17851         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17852         * command.h (prevent_dont_repeat): Change return type.
17853         * breakpoint.c (bpstat_do_actions_1): Update.
17855 2017-01-10  Tom Tromey  <tom@tromey.com>
17857         * value.h (scoped_value_mark::~scoped_value_mark): Call
17858         free_to_mark.
17859         (scoped_value_mark::free_to_mark): New method.
17860         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17861         scoped_value_mark.
17863 2017-01-10  Tom Tromey  <tom@tromey.com>
17865         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17866         (valpy_reference_value, valpy_const_value, valpy_get_address)
17867         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17868         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17869         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17870         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17871         scoped_value_mark.
17872         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17873         * value.h (scoped_value_mark): New class.
17875 2017-01-10  Tom Tromey  <tom@tromey.com>
17877         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17878         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17879         * psymtab.c (discard_psymtabs_upto): Remove.
17880         (make_cleanup_discard_psymtabs): Remove.
17881         (struct psymtab_state): Remove.
17883 2017-01-10  Tom Tromey  <tom@tromey.com>
17885         * record-full.c (record_full_save_cleanups): Remove.
17886         (record_full_save): Use gdb::unlinker.
17887         * gcore.c (do_bfd_delete_cleanup): Remove.
17888         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17889         cleanups.
17890         * dwarf2read.c (unlink_if_set): Remove.
17891         (write_psymtabs_to_index): Use gdb::unlinker.
17892         * common/gdb_unlinker.h: New file.
17894 2017-01-10  Tom Tromey  <tom@tromey.com>
17896         * windows-tdep.c (windows_xfer_shared_library): Update.
17897         * windows-nat.c (windows_make_so): Update.
17898         * utils.h (make_cleanup_bfd_unref): Remove.
17899         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17900         * symfile.h (symfile_bfd_open)
17901         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17902         * symfile.c (read_symbols, symbol_file_add)
17903         (separate_debug_file_exists): Update.
17904         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17905         (generic_load, reread_symbols): Update.
17906         * symfile-mem.c (symbol_file_add_from_memory): Update.
17907         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17908         (spu_symbol_file_add_from_memory): Update.
17909         * solist.h (struct target_so_ops) <bfd_open>: Return
17910         gdb_bfd_ref_ptr.
17911         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17912         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17913         gdb_bfd_ref_ptr.
17914         (solib_map_sections, reload_shared_libraries_1): Update.
17915         * solib-svr4.c (enable_break): Update.
17916         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17917         * solib-frv.c (enable_break2): Update.
17918         * solib-dsbt.c (enable_break): Update.
17919         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17920         gdb_bfd_ref_ptr.
17921         (darwin_solib_get_all_image_info_addr_at_init): Update.
17922         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17923         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17924         * record-full.c (record_full_save): Update.
17925         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17926         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17927         * minidebug.c (find_separate_debug_file_in_section): Return
17928         gdb_bfd_ref_ptr.
17929         * machoread.c (macho_add_oso_symfile): Change abfd to
17930         gdb_bfd_ref_ptr.
17931         (macho_symfile_read_all_oso): Update.
17932         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17933         (macho_symfile_read): Update.
17934         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17935         (jit_bfd_try_read_symtab): Update.
17936         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17937         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17938         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17939         gdb_bfd_ref_ptr.
17940         (gdb_bfd_ref_policy): New struct.
17941         (gdb_bfd_ref_ptr): New typedef.
17942         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17943         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17944         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17945         gdb_bfd_ref_ptr.
17946         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17947         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17948         (gcore_command): Update.
17949         * exec.c (exec_file_attach): Update.
17950         * elfread.c (elf_symfile_read): Update.
17951         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17952         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17953         (open_and_init_dwo_file): Update.
17954         (open_dwp_file): Return gdb_bfd_ref_ptr.
17955         (open_and_init_dwp_file): Update.
17956         * corelow.c (core_open): Update.
17957         * compile/compile-object-load.c (compile_object_load): Update.
17958         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17959         * coffread.c (coff_symfile_read): Update.
17960         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17961         gdb_bfd_ref_ptr.  Rename.
17962         (dump_bfd_file, restore_command): Update.
17963         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17964         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17965         (find_separate_debug_file_by_buildid): Update.
17967 2017-01-10  Tom Tromey  <tom@tromey.com>
17969         * common/gdb_ref_ptr.h: New file.
17970         * python/py-ref.h (struct gdbpy_ref_policy): New.
17971         (gdbpy_ref): Now a typedef.
17973 2017-01-10  Tom Tromey  <tom@tromey.com>
17975         * utils.h (make_cleanup_htab_delete): Don't declare.
17976         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17977         Remove.
17978         * linespec.c (decode_compound_collector): Add constructor,
17979         destructor.
17980         (lookup_prefix_sym): Remove cleanup.
17981         (symtab_collector): Add constructor, destructor.
17982         (collect_symtabs_from_filename): Remove cleanup.
17983         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17984         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17985         Use htab_up.
17986         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17987         * dwarf2read.c (dw2_expand_symtabs_matching)
17988         (dw2_map_symbol_filenames, dwarf_decode_macros)
17989         (write_psymtabs_to_index): Use htab_up.
17990         * dwarf2loc.c (func_verify_no_selftailcall)
17991         (call_site_find_chain_1, func_verify_no_selftailcall)
17992         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17993         std::vector, gdb::unique_xmalloc_ptr.
17994         (call_sitep): Remove typedef.
17995         (dwarf2_locexpr_baton_eval): Remove unused variable.
17997 2017-01-10  Tom Tromey  <tom@tromey.com>
17999         * python/python-internal.h (make_cleanup_py_decref)
18000         (make_cleanup_py_xdecref): Don't declare.
18001         * python/py-utils.c (py_decref, make_cleanup_py_decref)
18002         (py_xdecref, make_cleanup_py_xdecref): Remove.
18004 2017-01-10  Tom Tromey  <tom@tromey.com>
18006         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
18007         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
18009 2017-01-10  Tom Tromey  <tom@tromey.com>
18011         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
18013 2017-01-10  Tom Tromey  <tom@tromey.com>
18015         * python/py-utils.c (unicode_to_encoded_string)
18016         (python_string_to_target_string)
18017         (python_string_to_target_python_string)
18018         (python_string_to_host_string, gdbpy_obj_to_string)
18019         (get_addr_from_python): Use gdbpy_ref.
18021 2017-01-10  Tom Tromey  <tom@tromey.com>
18023         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
18024         gdbpy_ref.
18026 2017-01-10  Tom Tromey  <tom@tromey.com>
18028         * python/python.c (eval_python_command, gdbpy_decode_line)
18029         (gdbpy_run_events, gdbpy_start_type_printers)
18030         (gdbpy_apply_type_printers): Use gdbpy_ref.
18032 2017-01-10  Tom Tromey  <tom@tromey.com>
18034         * python/py-param.c (get_doc_string, compute_enum_values): Use
18035         gdbpy_ref.
18037 2017-01-10  Tom Tromey  <tom@tromey.com>
18039         * python/py-inferior.c (find_thread_object, build_inferior_list):
18040         Use gdbpy_ref.
18042 2017-01-10  Tom Tromey  <tom@tromey.com>
18044         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
18046 2017-01-10  Tom Tromey  <tom@tromey.com>
18048         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
18049         gdbpy_ref.
18051 2017-01-10  Tom Tromey  <tom@tromey.com>
18053         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
18054         extra incref.
18055         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
18056         Use gdbpy_ref.
18058 2017-01-10  Tom Tromey  <tom@tromey.com>
18060         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
18061         gdbpy_ref.
18063 2017-01-10  Tom Tromey  <tom@tromey.com>
18065         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
18066         decref results of PyArg_ParseTupleAndKeywords.
18068 2017-01-10  Tom Tromey  <tom@tromey.com>
18070         * python/python.c (python_run_simple_file): Use
18071         unique_xmalloc_ptr, gdbpy_ref.
18073 2017-01-10  Tom Tromey  <tom@tromey.com>
18075         * python/py-prettyprint.c (print_stack_unless_memory_error)
18076         (print_string_repr, print_children): Use gdbpy_ref.
18077         (dummy_python_frame): New class.
18078         (dummy_python_frame::dummy_python_frame): Rename from
18079         push_dummy_python_frame.
18080         (py_restore_tstate): Remove.
18082 2017-01-10  Tom Tromey  <tom@tromey.com>
18084         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
18086 2017-01-10  Tom Tromey  <tom@tromey.com>
18088         * python/python.c (ensure_python_env, restore_python_env):
18089         Remove.
18090         * python/python-internal.h (ensure_python_env): Don't declare.
18091         * varobj.h (varobj_ensure_python_env): Don't declare.
18092         * varobj.c (varobj_ensure_python_env): Remove.
18094 2017-01-10  Tom Tromey  <tom@tromey.com>
18096         * varobj.c (varobj_value_get_print_value): Use
18097         gdbpy_enter_varobj.
18099 2017-01-10  Tom Tromey  <tom@tromey.com>
18101         * python/py-prettyprint.c (print_string_repr, print_children):
18102         Update.
18103         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
18104         of "encoding".
18105         * varobj.c (varobj_value_get_print_value): Update.
18106         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
18108 2017-01-10  Tom Tromey  <tom@tromey.com>
18110         * varobj.c (varobj_get_display_hint)
18111         (dynamic_varobj_has_child_method, install_new_value_visualizer)
18112         (varobj_set_visualizer, free_variable): Use
18113         gdbpy_enter_varobj.
18115 2017-01-10  Tom Tromey  <tom@tromey.com>
18117         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
18118         (do_finish_initialization): New function.  Use gdbpy_ref.
18119         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
18120         do_finish_initialization.
18122 2017-01-10  Tom Tromey  <tom@tromey.com>
18124         * python/py-param.c (get_set_value, get_show_value): Use
18125         gdbpy_enter, gdbpy_ref.
18127 2017-01-10  Tom Tromey  <tom@tromey.com>
18129         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
18131 2017-01-10  Tom Tromey  <tom@tromey.com>
18133         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
18135 2017-01-10  Tom Tromey  <tom@tromey.com>
18137         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
18138         Use gdbpy_enter_varobj.
18140 2017-01-10  Tom Tromey  <tom@tromey.com>
18142         * varobj.c (gdbpy_enter_varobj): New constructor.
18143         * python/python-internal.h (gdbpy_enter_varobj): New class.
18144         * python/py-varobj.c (py_varobj_get_iterator): Use
18145         gdbpy_enter_varobj.
18147 2017-01-10  Tom Tromey  <tom@tromey.com>
18149         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
18150         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
18151         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
18152         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
18153         unique_xmalloc_ptr.
18154         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
18156 2017-01-10  Tom Tromey  <tom@tromey.com>
18158         * python/py-xmethods.c (invoke_match_method): Use
18159         gdbpy_ref.
18161 2017-01-10  Tom Tromey  <tom@tromey.com>
18163         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
18164         gdbpy_enter, gdbpy_ref.
18166 2017-01-10  Tom Tromey  <tom@tromey.com>
18168         * python/python.c (python_interactive_command): Use gdbpy_enter.
18170 2017-01-10  Tom Tromey  <tom@tromey.com>
18172         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
18173         gdbpy_ref.
18175 2017-01-10  Tom Tromey  <tom@tromey.com>
18177         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
18178         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
18180 2017-01-10  Tom Tromey  <tom@tromey.com>
18182         * utils.h (htab_deleter): New struct.
18183         (htab_up): New typedef.
18184         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
18185         gdbpy_enter, gdbpy_ref, htab_up.
18187 2017-01-10  Tom Tromey  <tom@tromey.com>
18189         * python/py-unwind.c (pending_frame_invalidate): Remove.
18190         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
18192 2017-01-10  Tom Tromey  <tom@tromey.com>
18194         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
18195         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
18197 2017-01-10  Tom Tromey  <tom@tromey.com>
18199         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
18201 2017-01-10  Tom Tromey  <tom@tromey.com>
18203         * python/python.c (gdbpy_eval_from_control_command)
18204         (gdbpy_source_script, gdbpy_run_events)
18205         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
18206         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
18207         gdbpy_enter.
18209 2017-01-10  Tom Tromey  <tom@tromey.com>
18211         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
18213 2017-01-10  Tom Tromey  <tom@tromey.com>
18215         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
18217 2017-01-10  Tom Tromey  <tom@tromey.com>
18219         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
18220         (python_on_inferior_call_pre, python_on_inferior_call_post)
18221         (python_on_memory_change, python_on_register_change)
18222         (python_inferior_exit, python_new_objfile, add_thread_object)
18223         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
18225 2017-01-10  Tom Tromey  <tom@tromey.com>
18227         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
18228         (bpfinishpy_handle_exit): Use gdbpy_enter.
18230 2017-01-10  Tom Tromey  <tom@tromey.com>
18232         * python/py-cmd.c (cmdpy_destroyer)
18233         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
18234         gdbpy_enter.
18236 2017-01-10  Tom Tromey  <tom@tromey.com>
18238         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
18239         gdbpy_enter.
18240         (gdbpy_breakpoint_has_cond): Likewise.
18242 2017-01-10  Tom Tromey  <tom@tromey.com>
18244         * python/python.c (gdbpy_enter): New constructor.
18245         (~gdbpy_enter): New destructor.
18246         (restore_python_env, ensure_python_env): Rewrite.
18247         * python/python-internal.h (gdbpy_enter): New class.
18249 2017-01-10  Tom Tromey  <tom@tromey.com>
18251         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
18253 2017-01-10  Tom Tromey  <tom@tromey.com>
18255         * python/py-value.c (value_has_field, get_field_flag)
18256         (get_field_type, valpy_getitem, convert_value_from_python): Use
18257         gdbpy_ref.
18259 2017-01-10  Tom Tromey  <tom@tromey.com>
18261         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
18262         gdbpy_ref.
18264 2017-01-10  Tom Tromey  <tom@tromey.com>
18266         * python/py-prettyprint.c (search_pp_list)
18267         (find_pretty_printer_from_objfiles)
18268         (find_pretty_printer_from_progspace)
18269         (find_pretty_printer_from_gdb, find_pretty_printer)
18270         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
18271         gdbpy_ref.
18273 2017-01-10  Tom Tromey  <tom@tromey.com>
18275         * python/py-param.c (call_doc_function): Use gdbpy_ref.
18277 2017-01-10  Tom Tromey  <tom@tromey.com>
18279         * python/py-linetable.c (build_line_table_tuple_from_pcs)
18280         (ltpy_get_all_source_lines): Use gdbpy_ref.
18282 2017-01-10  Tom Tromey  <tom@tromey.com>
18284         * python/py-framefilter.c (extract_sym, extract_value)
18285         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
18286         gdbpy_ref.
18288 2017-01-10  Tom Tromey  <tom@tromey.com>
18290         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
18292 2017-01-10  Tom Tromey  <tom@tromey.com>
18294         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
18296 2017-01-10  Tom Tromey  <tom@tromey.com>
18298         * python/py-function.c (convert_values_to_python, fnpy_init): Use
18299         gdbpy_ref.
18301 2017-01-10  Tom Tromey  <tom@tromey.com>
18303         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
18305 2017-01-10  Tom Tromey  <tom@tromey.com>
18307         * python/py-type.c (convert_field, make_fielditem, typy_fields)
18308         (typy_range): Use gdbpy_ref.
18310 2017-01-10  Tom Tromey  <tom@tromey.com>
18312         * python/py-threadevent.c (create_thread_event_object): Use
18313         gdbpy_ref.
18314         * python/py-stopevent.c (create_stop_event_object): Simplify.
18315         (emit_stop_event): Use gdbpy_ref.
18316         * python/py-signalevent.c (create_signal_event_object): Use
18317         gdbpy_ref.
18318         * python/py-newobjfileevent.c (create_new_objfile_event_object)
18319         (emit_new_objfile_event, create_clear_objfiles_event_object)
18320         (emit_clear_objfiles_event): Use gdbpy_ref.
18321         * python/py-infevents.c (create_inferior_call_event_object)
18322         (create_register_changed_event_object)
18323         (create_memory_changed_event_object, emit_inferior_call_event)
18324         (emit_memory_changed_event, emit_register_changed_event): Use
18325         gdbpy_ref.
18326         * python/py-exitedevent.c (create_exited_event_object)
18327         (emit_exited_event): Use gdbpy_ref.
18328         * python/py-event.h (evpy_emit_event): Remove
18329         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
18330         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
18331         * python/py-continueevent.c (emit_continue_event): Use
18332         gdbpy_ref.
18333         * python/py-breakpoint.c (gdbpy_breakpoint_created)
18334         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
18335         gdbpy_ref.
18336         * python/py-bpevent.c (create_breakpoint_event_object): Use
18337         gdbpy_ref.
18339 2017-01-10  Tom Tromey  <tom@tromey.com>
18341         * python/py-ref.h: New file.
18343 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18345         * cli-out.c (cli_ui_out::do_redirect): Change return type to
18346         void.
18347         * cli-out.h (cli_ui_out::do_redirect): Likewise.
18348         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18349         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18350         * ui-out.c (ui_out::redirect): Likewise.
18351         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18352         * cli/cli-logging.c (set_logging_redirect): Update call site of
18353         ui_out::redirect.
18354         (handle_redirections): Likewise.
18355         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18356         * top.c (execute_command_to_string): Likewise.
18357         * utils.c (do_ui_out_redirect_pop): Likewise.
18359 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18361         * stack.c (_initialize_stack): Update "frame" command help message.
18363 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18365         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18367 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18369         * x86-linux-nat.h: Include gdb_proc_service.h.
18371 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18373         * ser-base.h: Include serial.h.
18375 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18377         * ppc-linux-tdep.h: Include ppc-tdep.h.
18379 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18381         * nat/amd64-linux-siginfo.h: Include signal.h.
18383 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18385         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18387 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18389         * mi/mi-parse.h: Include mi-cmds.h.
18391 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18393         * inf-loop.c: Don't include "target.h".
18394         * inf-loop.h: Include it here.
18396 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18398         * dfp.h: Include "dboulest.h" and "expression.h".
18400 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18402         * ax-gdb.h: Include "ax.h".
18404 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18406         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18407         with nat/gdb_ptrace.h.
18409 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18411         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18412         new line.
18413         (mips64_fbsd_sigframe_init): Likewise.
18415 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18417         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18418         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18420 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18422         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18423         * NEWS: Mention new FreeBSD/mips native configuration.
18424         * config/mips/fbsd.mh: New file.
18425         * configure.host: Add mips*-*-freebsd*.
18426         * mips-fbsd-nat.c: New file.
18428 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18430         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18431         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18432         * NEWS: Mention new FreeBSD/mips target.
18433         * configure.tgt: Add mips*-*-freebsd*.
18434         * mips-fbsd-tdep.c: New file.
18435         * mips-fbsd-tdep.h: New file.
18437 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18439         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18440         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18442 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18444         Update copyright year range in all GDB files.
18446 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18448         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18450 For older changes see ChangeLog-2016.
18452 Local Variables:
18453 mode: change-log
18454 left-margin: 8
18455 fill-column: 74
18456 version-control: never
18457 coding: utf-8
18458 End: