Support rvalue references in the gdb python module (includes doc/)
[external/binutils.git] / gdb / ChangeLog
1 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
2
3         PR gdb/14441
4         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
5         table of constants.
6         * python/lib/gdb/command/explore.py: Support exploring values
7         of rvalue reference types.
8         * python/lib/gdb/types.py: Implement get_basic_type() for
9         rvalue reference types.
10         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
11         constant.
12         * python/py-value.c (valpy_getitem): Add an rvalue reference
13         check.
14         (valpy_reference_value): Add new parameter "refcode".
15         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
16         New wrappers for valpy_reference_value().
17         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
18         (gdbpy_invoke_xmethod): Likewise.
19
20 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
21
22         PR gdb/14441
23         * dwarf2read.c (process_die, read_type_die_1): Handle the
24         DW_TAG_rvalue_reference_type DIE.
25         (read_tag_reference_type): Add new parameter "refcode".
26
27 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
28
29         PR gdb/14441
30         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
31         (c_type_print_modifier, c_type_print_varspec_suffix)
32         (c_type_print_base): Support printing rvalue reference types.
33         * c-valprint.c (c_val_print, c_value_print): Support printing
34         rvalue reference values.
35
36 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
37
38         PR gdb/14441
39         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
40         typename.
41         * cp-support.c (replace_typedefs): Handle
42         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
43         * python/py-type.c (typy_lookup_type): Likewise.
44
45 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
46
47         PR gdb/14441
48         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
49         * parse.c (insert_type): Change assert statement.
50         (follow_types): Handle rvalue reference types.
51         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
52         constant.
53
54 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
55
56         PR gdb/14441
57         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
58         value_ref() interface.
59         * c-valprint.c (c_value_print): Likewise.
60         * infcall.c (value_arg_coerce): Likewise.
61         * python/py-value.c (valpy_reference_value): Likewise.
62         * valops.c (value_cast, value_reinterpret_cast)
63         (value_dynamic_cast, typecmp): Likewise.
64         (value_ref): Parameterize by kind of return value reference type.
65         * value.h (value_ref): Add new parameter "refcode".
66
67 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
68
69         PR gdb/14441
70         * dwarf2read.c (read_tag_reference_type): Use
71         lookup_lvalue_reference_type() instead of lookup_reference_type().
72         * eval.c (evaluate_subexp_standard): Likewise.
73         * f-exp.y: Likewise.
74         * gdbtypes.c (make_reference_type, lookup_reference_type):
75         Generalize with rvalue reference types.
76         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
77         convenience wrappers for lookup_reference_type().
78         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
79         reference kind parameter.
80         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
81         wrappers for lookup_reference_type().
82         * guile/scm-type.c (gdbscm_type_reference): Use
83         lookup_lvalue_reference_type() instead of lookup_reference_type().
84         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
85         * parse.c (follow_types): Likewise.
86         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
87         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
88         Likewise.
89         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
90         (gdbpy_invoke_xmethod): Likewise.
91         * stabsread.c: Provide extra argument to make_reference_type()
92         call.
93         * valops.c (value_ref, value_rtti_indirect_type): Use
94         lookup_lvalue_reference_type() instead of lookup_reference_type().
95
96 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
97
98         PR gdb/14441
99         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
100         (TYPE_IS_REFERENCE): New macro.
101         (struct type): Add rvalue_reference_type field.
102         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
103
104 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
105
106         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
107         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
108         New function definition.
109         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
110         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
111         New function declaration.
112         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
113         * mi/mi-interp.h: New file.
114         * solib.c (info_sharedlibrary_command): Replace for loop with
115         ALL_SO_LIBS macro
116         * solib.h (update_solib_list): New function declaration.
117         (so_list_head): Move macro.
118         * solist.h (ALL_SO_LIBS): New macro.
119
120 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
121
122         * infcmd.c (post_create_inferior): Remove unused argument in
123         call to solib_add.
124         * remote.c (remote_start_remote): Likewise.
125         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
126         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
127         (enable_break): Likewise.
128         * solib.c (update_solib_list): Remove unused target argument
129         and its documentation.
130         (solib_add): Remove unused target argument.  Remove unused
131         argument in call to update_solib_list.
132         (info_sharedlibrary_command): Remove unused argument in call
133         to update_solib_list.
134         (sharedlibrary_command): Remove unused argument in call to
135         solib_add.
136         (handle_solib_event): Likewise.
137         (reload_shared_libraries): Likewise.
138         * solib.h (solib_add): Remove unused target argument.
139
140 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
141
142         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
143         (s390_displaced_step_fixup): Cover relative branches with the
144         default fixup handling.  This fixes lack of support for some
145         relative branch instructions.
146
147 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
148
149         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
150         ptid from regcache.
151
152 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
153
154         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
155         i386_darwin_store_inferior_registers): Use ptid from regcache.
156
157 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
158
159         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
160         i386bsd_store_inferior_registers): Use ptid from regcache.
161
162 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
163
164         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
165         hppaobsd_store_registers): Use ptid from regcache.
166
167 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
168
169         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
170         hppanbsd_store_registers): Use ptid from regcache.
171
172 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
173
174         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
175         from regcache.  Use get_ptrace_pid.
176
177 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
178
179         * corelow.c (get_core_register_section): Use ptid from regcache,
180         update doc.
181
182 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
183
184         * bsd-uthread.c (bsd_uthread_fetch_registers,
185         bsd_uthread_store_registers): Use ptid from regcache, set and
186         restore inferior_ptid.
187
188 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
189
190         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
191         fetch_fp_regs, store_register, store_regs, store_fp_register,
192         store_fp_regs): Use ptid from regcache.
193
194 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
195
196         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
197         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
198         store_vfp_regs): Use ptid from regcache.
199
200 2017-03-17  Pedro Alves  <palves@redhat.com>
201
202         PR remote/21188
203         * ser-base.c (ser_base_wait_for): Add comment.
204         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
205         version.
206         * ser-unix.c (hardwire_raw): Remove reference to
207         scb->current_timeout.
208         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
209         (hardwire_ops): Install ser_base_readchar instead of
210         hardwire_readchar.
211         * serial.h (struct serial) <current_timeout, timeout_remaining>:
212         Remove fields.
213
214 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
215
216         PR gdb/19637
217         * python/lib/gdb/printer/bound_registers.py: Add support for
218         Python 3.
219
220 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
221
222         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
223         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
224         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
225         byte_offset to subobj_byte_offset.  Fix the handling of
226         DWARF_VALUE_STACK on big-endian targets when coming via an
227         implicit pointer.
228         (dwarf2_evaluate_loc_desc): Adjust call to
229         dwarf2_evaluate_loc_desc_full.
230         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
231         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
232
233 2017-03-16  Yao Qi  <yao.qi@linaro.org>
234
235         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
236         and REVSH instructions.
237
238 2017-03-16  Yao Qi  <yao.qi@linaro.org>
239
240         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
241         (arm_record_test): Declare.
242         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
243         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
244         align with the manual.
245         (thumb_record_misc): Adjust the code order to align with the
246         manual.
247         (thumb2_record_decode_insn_handler): Fix instruction matching.
248         (instruction_reader_thumb): New class.
249         (arm_record_test): New function.
250
251 2017-03-16  Yao Qi  <yao.qi@linaro.org>
252
253         * arm-tdep.c (abstract_memory_reader): New class.
254         (instruction_reader): New class.
255         (extract_arm_insn): Add argument 'reader'.  Callers updated.
256         (decode_insn): Likewise.
257
258 2017-03-16  Doug Evans  <dje@google.com>
259
260         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
261         member.  Change type of TYPE member to SCM.  All uses updated.
262         (lsscm_make_lazy_string_smob): Add assert.
263         (lsscm_make_lazy_string): Flag bad length values.
264         (lsscm_elt_type): New function.
265         (gdbscm_lazy_string_to_value): Rewrite to use
266         lsscm_safe_lazy_string_to_value.
267         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
268         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
269         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
270         in incoming type.
271         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
272         * guile/scm-type.c (tyscm_scm_to_type): New function.
273
274 2017-03-15  Doug Evans  <dje@google.com>
275
276         PR python/17728, python/18439, python/18779
277         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
278         member.  Change type of TYPE member to PyObject *.  All uses updated.
279         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
280         (gdbpy_create_lazy_string_object): Flag bad length values.
281         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
282         Handle typedefs in incoming type.
283         (stpy_lazy_string_elt_type): New function.
284         (gdbpy_extract_lazy_string): Call it.
285         * python/py-value.c (valpy_lazy_string): Flag bad length values.
286         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
287         typedefs in incoming type.
288
289 2017-03-16  Doug Evans  <dje@google.com>
290
291         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
292         * guile/scm-type.c (tyscm_scm_to_type): New function.
293
294 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
295
296         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
297         "ULONGEST" for "skip".
298
299 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
300
301         PR gdb/21220
302         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
303         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
304         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
305         over ptrace peek/poke until end of buffer or error.
306
307 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
308
309         * parse.c (length_of_subexp): Make static.
310         * parser-defs.h (length_of_subexp): Remove.
311
312 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
313
314         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
315         as well.
316
317 2017-03-14  Pedro Alves  <palves@redhat.com>
318
319         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
320         (main): Use std::unique_ptr.  Remove calls to
321         cp_demangled_name_parse_free.
322
323 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
324
325         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
326         alphabsd_store_inferior_registers): Use regcache->ptid instead
327         of inferior_ptid.
328
329 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
330
331         * aix-thread.c (aix_thread_fetch_registers,
332         aix_thread_store_registers): Use regcache->ptid instead of
333         inferior_ptid.
334
335 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
336
337         * aarch64-linux-nat.c (fetch_gregs_from_thread,
338         store_gregs_to_thread, fetch_fpregs_from_thread,
339         store_fpregs_to_thread): Use regcache->ptid instead of
340         inferior_ptid.
341
342 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
343
344         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
345         amd64_linux_fetch_inferior_registers): Use regcache->ptid
346         instead of inferior_ptid.
347
348 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
349
350         * target.c (target_fetch_registers, target_store_registers): Add
351         assert.
352
353 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
354
355         * regcache.h (regcache_get_ptid): New function.
356         * regcache.c (regcache_get_ptid): New function.
357
358 2017-03-13  Mark Wielaard  <mark@klomp.org>
359
360         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
361
362 2017-03-10  Keith Seitz  <keiths@redhat.com>
363
364         PR c++/8218
365         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
366
367 2017-03-08  Pedro Alves  <palves@redhat.com>
368
369         PR gdb/18360
370         * infrun.c (start_step_over, do_target_resume, resume)
371         (restart_threads): Assert we're not resuming a thread that is
372         meant to be stopped.
373         (infrun_thread_stop_requested_callback): Delete.
374         (infrun_thread_stop_requested): If the thread is internally
375         stopped, queue a pending stop event and clear the thread's
376         inline-frame state.
377         (handle_stop_requested): New function.
378         (handle_syscall_event, handle_inferior_event_1): Use
379         handle_stop_requested.
380         (handle_stop_requested): New function.
381         (handle_signal_stop): Set the thread's stop_signal here instead of
382         at caller.
383         (finish_step_over): Clear step over info unconditionally.
384         (handle_signal_stop): If the user had interrupted the event
385         thread, consider the stop a random signal.
386         (handle_signal_stop) <signal arrived while stepping over
387         breakpoint>: Don't restart threads here.
388         (stop_waiting): Don't clear step-over info here.
389
390 2017-03-08  Pedro Alves  <palves@redhat.com>
391
392         PR 21206
393         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
394         goes to argument 2, not 1.
395
396 2017-03-08  Pedro Alves  <palves@redhat.com>
397
398         PR cli/21218
399         * top.c (gdb_readline_wrapper): Avoid passing NULL to
400         display_gdb_prompt.
401         (command_line_input): Add comment.
402
403 2017-03-08  Pedro Alves  <palves@redhat.com>
404
405         PR tui/21216
406         * tui/tui-file.c (tui_file::write): New.
407         * tui/tui-file.h (tui_file): Override "write".
408         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
409         factored out from ...
410         (tui_puts): ... here.
411         (tui_putc): Use them.
412         (tui_write): New function.
413         * tui/tui-io.h (tui_write): Declare.
414
415 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
416
417         * Makefile.in (SFILES): Replace "environ.c" with
418         "common/environ.c".
419         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
420         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
421         to...
422         * common/environ.c: ... here.
423         * environ.h: Moved to...
424         * common/environ.h: ... here.
425
426 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
427
428         * gdbarch.sh (pstring_ptr): New static function.
429         (gdbarch_disassembler_options): Use it.
430         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
431         not valid_disassembler_option->name.
432         * gdbarch.c: Regenerate.
433
434 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
435
436         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
437
438 2017-03-07  Pedro Alves  <palves@redhat.com>
439
440         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
441
442 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
443
444         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
445         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
446         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
447         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
448
449 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
450
451         * xtensa-linux-nat.c (fetch_gregs): Remove const.
452
453 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
454
455         * remote.c (remote_add_target_side_commands): Use range-based
456         for loop.
457
458 2017-03-03  Yao Qi  <yao.qi@linaro.org>
459
460         PR gdb/21165
461         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
462         value is lazy.
463         * valprint.c (common_val_print): Likewise.
464
465 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
466
467         * NEWS: Mention new set/show disassembler-options commands.
468         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
469         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
470         (prospective_options): New static variable.
471         (gdb_disassembler::gdb_disassembler): Initialize
472         m_di.disassembler_options.
473         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
474         (get_disassembler_options): New function.
475         (set_disassembler_options): Likewise.
476         (set_disassembler_options_sfunc): Likewise.
477         (show_disassembler_options_sfunc): Likewise.
478         (disassembler_options_completer): Likewise.
479         (_initialize_disasm): Likewise.
480         * disasm.h (get_disassembler_options): New prototype.
481         (set_disassembler_options): Likewise.
482         * gdbarch.sh (gdbarch_disassembler_options): New variable.
483         (gdbarch_verify_disassembler_options): Likewise.
484         * gdbarch.c: Regenerate.
485         * gdbarch.h: Likewise.
486         * arm-tdep.c (num_disassembly_options): Delete.
487         (set_disassembly_style): Likewise.
488         (arm_disassembler_options): New static variable.
489         (set_disassembly_style_sfunc): Convert short style name into long
490         option name.  Call set_disassembler_options.
491         (show_disassembly_style_sfunc): New function.
492         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
493         set_gdbarch_verify_disassembler_options.
494         (_initialize_arm_tdep): Delete regnames variable and update callers.
495         (arm_disassembler_options): Initialize.
496         (disasm_options): New variable.
497         (num_disassembly_options): Rename from this...
498         (num_disassembly_styles): ...to this.  Compute by scanning through
499         disasm_options.
500         (valid_disassembly_styles): Initialize using disasm_options.
501         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
502         set_arm_regname_option.
503         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
504         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
505         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
506         set_gdbarch_verify_disassembler_options.
507         * s390-tdep.c (s390_disassembler_options): New static variable.
508         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
509         set_gdbarch_verify_disassembler_options.
510
511 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
512
513         * remote.c (remote_add_target_side_condition): Remove "struct"
514         keyword from range-based for loop.
515
516 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
517
518         * remote.c (remote_add_target_side_condition): Use range-based
519         for loop.  Update comment.
520
521 2017-02-27  Yao Qi  <yao.qi@linaro.org>
522
523         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
524
525 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
526
527         * regcache.c (regcache_raw_update): New function.
528         (regcache_raw_read): Move code to regcache_raw_update.
529         * regcache.h (regcache_raw_update): New declaration.
530         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
531
532 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
533
534         * dwarf2read.c (create_debug_type_hash_table): Initialize
535         header.signature and header.type_offset_in_tu.
536
537 2017-02-24  Pedro Alves  <palves@redhat.com>
538
539         * symtab.c (make_file_symbol_completion_list_1): Use
540         add_symtab_completions.
541
542 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
543
544         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
545
546 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
547
548         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
549         I386_MAX_REGISTER_SIZE.
550         (i386_pseudo_register_write): Likewise.
551         (i386_process_record): Likewise.
552         * i387-tdep.c (i387_supply_xsave): Likewise.
553         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
554         (store_register): Likewise.
555
556 2017-02-23  Pedro Alves  <palves@redhat.com>
557
558         * ada-lang.c: Include "common/function-view.h".
559         (ada_iterate_over_symbols): Adjust to use function_view as
560         callback type.
561         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
562         (ada_make_symbol_completion_list): Use a lambda.
563         (ada_exc_search_name_matches): Delete.
564         (name_matches_regex): New.
565         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
566         * compile/compile-c-support.c: Include "common/function-view.h".
567         (print_one_macro): Change prototype to accept a ui_file pointer.
568         (write_macro_definitions): Use a lambda.
569         * dwarf2read.c: Include "common/function-view.h".
570         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
571         (dw2_expand_symtabs_matching): Adjust to use function_view as
572         callback type.
573         * language.h: Include "common/function-view.h".
574         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
575         function_view as callback type.
576         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
577         * linespec.c: Include "common/function-view.h".
578         (collect_info::add_symbol): New method.
579         (struct symbol_and_data_callback, iterate_inline_only, struct
580         symbol_matcher_data, iterate_name_matcher): Delete.
581         (iterate_over_all_matching_symtabs): Adjust to use function_view
582         as callback type and lambdas.
583         (iterate_over_file_blocks): Adjust to use function_view as
584         callback type.
585         (decode_compound_collector): Now a class with private fields.
586         (decode_compound_collector::release_symbols): New method.
587         (collect_one_symbol): Rename to...
588         (decode_compound_collector::operator()): ... this and adjust.
589         (lookup_prefix_sym): decode_compound_collector construction bits
590         move to decode_compound_collector ctor.  Pass the
591         decode_compound_collector object directly as callback.  Remove
592         cleanups and use decode_compound_collector::release_symbols
593         instead.
594         (symtab_collector): Now a class with private fields.
595         (symtab_collector::release_symtabs): New method.
596         (add_symtabs_to_list): Rename to...
597         (symtab_collector::operator()): ... this and adjust.
598         (collect_symtabs_from_filename): symtab_collector construction
599         bits move to symtab_collector ctor.  Pass the symtab_collector
600         object directly as callback.  Remove cleanups and use
601         symtab_collector::release_symtabs instead.
602         (collect_symbols): Delete.
603         (add_matching_symbols_to_info): Use lambdas.
604         * macrocmd.c (print_macro_callback): Delete.
605         (info_macro_command): Use a lambda.
606         (info_macros_command): Pass print_macro_definition as callable
607         directly.
608         (print_one_macro): Remove 'ignore' parameter.
609         (macro_list_command): Adjust.
610         * macrotab.c (macro_for_each_data::fn): Now a function_view.
611         (macro_for_each_data::user_data): Delete field.
612         (foreach_macro): Adjust to call the function_view.
613         (macro_for_each): Adjust to use function_view as callback type.
614         (foreach_macro_in_scope): Adjust to call the function_view.
615         (macro_for_each_in_scope): Adjust to use function_view as callback
616         type.
617         * macrotab.h: Include "common/function-view.h".
618         (macro_callback_fn): Declare a prototype instead of a pointer.
619         Remove "user_data" parameter.
620         (macro_for_each, macro_for_each_in_scope): Adjust to use
621         function_view as callback type.
622         * psymtab.c (partial_map_expand_apply)
623         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
624         Adjust to use function_view as callback type and to return bool.
625         (psym_expand_symtabs_matching): Adjust to use function_view as
626         callback types.
627         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
628         to use function_view as callback type and to return bool.
629         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
630         callback types.
631         * symfile.c (expand_symtabs_matching): Adjust to use function_view
632         as callback types.
633         * symfile.h: Include "common/function-view.h".
634         (expand_symtabs_file_matcher_ftype)
635         (expand_symtabs_symbol_matcher_ftype)
636         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
637         return bool.
638         (quick_symbol_functions::map_symtabs_matching_filename)
639         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
640         function_view as callback type and return bool.
641         (expand_symtabs_matching): Adjust to use function_view as callback
642         type.
643         (maintenance_expand_name_matcher)
644         (maintenance_expand_file_matcher): Delete.
645         (maintenance_expand_symtabs): Use lambdas.
646         * symtab.c (iterate_over_some_symtabs): Adjust to use
647         function_view as callback types and return bool.
648         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
649         of a cleanup.
650         (lookup_symtab_callback): Delete.
651         (lookup_symtab): Use a lambda.
652         (iterate_over_symbols): Adjust to use function_view as callback
653         type.
654         (struct search_symbols_data, search_symbols_file_matches)
655         (search_symbols_name_matches): Delete.
656         (search_symbols): Use a pair of lambdas.
657         (struct add_name_data, add_macro_name, symbol_completion_matcher)
658         (symtab_expansion_callback): Delete.
659         (default_make_symbol_completion_list_break_on_1): Use lambdas.
660         * symtab.h: Include "common/function-view.h".
661         (iterate_over_some_symtabs): Adjust to use function_view as
662         callback type and return bool.
663         (iterate_over_symtabs): Adjust to use function_view as callback
664         type.
665         (symbol_found_callback_ftype): Remove 'data' parameter and return
666         bool.
667         (iterate_over_symbols): Adjust to use function_view as callback
668         type.
669
670 2017-02-23  Pedro Alves  <palves@redhat.com>
671
672         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
673         (%.o) <unittests/%.c>: New pattern.
674         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
675         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
676         * common/function-view.h: New file.
677         * unittests/function-view-selftests.c: New file.
678         * configure: Regenerate.
679
680 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
681
682         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
683         inferior_ptid.
684         * go32-nat.c (go32_thread_alive): Likewise.
685
686 2017-02-23  Yao Qi  <yao.qi@linaro.org>
687
688         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
689         delete.
690
691 2017-02-23  Yao Qi  <yao.qi@linaro.org>
692
693         * varobj.c (varobj_clear_saved_item): Use delete instead of
694         xfree.
695         (update_dynamic_varobj_children): Likewise.
696
697 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
698
699         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
700
701 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
702
703         * common/enum-flags.h (enum_flags::enum_flags): Initialize
704         m_enum_value to 0 in default constructor.
705
706 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
707
708         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
709         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
710         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
711         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
712         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
713         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
714         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
715         IS_STORE_CONDITIONAL_INSN.
716
717 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
718
719         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
720
721 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
722
723         * NEWS (Changes since GDB 7.12): Add DWARF-5.
724
725 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
726
727         * dwarf2read.c (skip_one_die, read_attribute_value)
728         (dwarf2_const_value_attr, dump_die_shallow)
729         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
730         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
731
732 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
733
734         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
735         (dwarf_parse_macro_header): Accept DWARF version 5.
736         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
737
738 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
739
740         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
741         DW_AT_GNU_*.
742         * common/common-exceptions.h (enum errors): Likewise.
743         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
744         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
745         (dwarf_expr_context::execute_stack_op): Likewise.
746         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
747         Likewise.
748         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
749         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
750         (show_entry_values_debug, call_site_to_target_addr)
751         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
752         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
753         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
754         (value_of_dwarf_block_entry, indirect_pieced_value)
755         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
756         (disassemble_dwarf_expression): Likewise.
757         * dwarf2read.c (process_die, inherit_abstract_dies)
758         (read_call_site_scope): Likewise.
759         * gdbtypes.h (struct func_type, struct call_site_parameter)
760         (struct call_site): Likewise.
761         * stack.c (read_frame_arg): Likewise.
762         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
763
764 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
765
766         * defs.h (read_unsigned_leb128): New declaration.
767         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
768         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
769         (dwarf2_find_location_expression): Call also
770         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
771         * dwarf2loc.h (dwarf2_version): New declaration.
772         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
773         rnglists.
774         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
775         .debug_rnglists.
776         (struct dwop_section_names): Add loclists_dwo.
777         (dwop_section_names): Add .debug_loclists.dwo.
778         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
779         (struct dwarf2_per_cu_data): Add dwarf_version.
780         (struct dwo_sections): Add loclists.
781         (struct attr_abbrev): Add implicit_const.
782         (read_indirect_line_string): New declaration.
783         (read_unsigned_leb128): Delete declaration.
784         (rcuh_kind): New definition.
785         (read_and_check_comp_unit_head): Change parameter
786         is_debug_types_section to section_kind.
787         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
788         (read_comp_unit_head): Change parameter abfd to section, add parameter
789         section_kind.  Handle DWARF-5.
790         (error_check_comp_unit_head): Accept also DWARF version 5.
791         (read_and_check_comp_unit_head): Change parameter
792         is_debug_types_section to section_kind.
793         (read_and_check_type_unit_head): Delete function.
794         (read_abbrev_offset): Handle DWARF-5.
795         (create_debug_type_hash_table): Add parameter section_kind.  Process
796         only DW_UT_type.  Use signature and type_offset_in_tu from struct
797         comp_unit_head.
798         (create_debug_types_hash_table): Update create_debug_type_hash_table
799         caller.
800         (create_all_type_units): Call create_debug_type_hash_table.
801         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
802         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
803         caller.
804         (skip_one_die): Handle DW_FORM_implicit_const.
805         (dwarf2_rnglists_process): New function.
806         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
807         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
808         (read_attribute_value): Handle DW_FORM_implicit_const,
809         DW_FORM_line_strp.
810         (read_attribute): Handle DW_FORM_implicit_const.
811         (read_indirect_string_at_offset_from): New function from
812         read_indirect_string_at_offset.
813         (read_indirect_string_at_offset): Call
814         read_indirect_string_at_offset_from.
815         (read_indirect_line_string_at_offset): New function.
816         (read_indirect_string): New function comment.
817         (read_indirect_line_string): New function.
818         (read_unsigned_leb128): Make it global.
819         (dwarf2_string_attr): Handle DWARF-5.
820         (add_include_dir_stub, read_formatted_entries): New functions.
821         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
822         Handle DWARF-5.
823         (per_cu_header_read_in): Update read_comp_unit_head caller.
824         (dwarf2_version): New function.
825         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
826         rnglists.
827         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
828         fields.
829
830 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
831
832         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
833
834 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
835
836         * dwarf2read.c (dwarf2_ranges_process): New function from
837         dwarf2_ranges_read.
838         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
839         dwarf2_ranges_process.
840
841 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
842
843         * dwarf2read.c (create_debug_type_hash_table): New function from
844         create_debug_types_hash_table.
845         (create_debug_types_hash_table): Call create_debug_type_hash_table.
846         (create_all_type_units, open_and_init_dwo_file): Update
847         create_debug_types_hash_table callers.
848
849 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
850
851         PR gdb/16188
852         * fork-child.c (trace_start_error): Fix thinko.  va_end should
853         refer to 'ap', not 'args'.
854
855 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
856             Pedro Alves  <palves@redhat.com>
857
858         PR gdb/16188
859         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
860         calls succeeded.
861         * fork-child.c (trace_start_error): New function.
862         (trace_start_error_with_name): Likewise.
863         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
864         * inf-ptrace.c (inf_ptrace_me): Likewise.
865         * inferior.h (trace_start_error): New prototype.
866         (trace_start_error_with_name): Likewise.
867
868 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
869
870         PR gdb/21164
871         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
872         NULL before using it.
873         * symmisc.c (maintenance_print_symbols): Likewise.
874         (maintenance_print_msymbols): Likewise.
875
876 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
877
878         * NEWS: Add record Python bindings entry.
879
880 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
881
882         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
883         py-record-full.o.
884         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
885         * python/py-record-btrace.c, python/py-record-btrace.h,
886         python/py-record-full.c, python/py-record-full.h: New file.
887         * python/py-record.c: Add include for py-record-btrace.h and
888         py-record-full.h.
889         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
890         recpy_instruction_history, recpy_function_call_history, recpy_begin,
891         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
892         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
893         New definition.
894         (gdbpy_initialize_btrace): New export.
895         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
896
897 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
898
899         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
900         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
901         * python/py-record.c: New file.
902         * python/python-internal.h (gdbpy_start_recording,
903         gdbpy_current_recording, gdpy_stop_recording,
904         gdbpy_initialize_record): New export.
905         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
906         (python_GdbMethods): Add gdbpy_start_recording,
907         gdbpy_current_recording and gdbpy_stop_recording.
908
909 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
910
911         * record-btrace.c (record_btrace_record_method): New function.
912         (init_record_btrace_ops): Initialize to_record_method.
913         * record-full.c (record_full_record_method): New function.
914         (init_record_full_ops, init_record_full_core_ops): Add
915         record_full_record_method.
916         * record.h (enum record_method): New enum.
917         * target-debug.h (target_debug_print_enum_record_method: New define.
918         * target-delegates.c: Regenerate.
919         * target.c (target_record_method): New function.
920         * target.h: Include record.h.
921         (struct target_ops) <to_record_method>: New field.
922         (target_record_method): New export.
923
924 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
925
926         * record.h (record_start, record_stop): New export.
927         * record.c (record_start, record_stop): New function.
928
929 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
930
931         * btrace.c (btrace_fetch): Copy function call segments pointer
932         into a vector.
933         (btrace_clear): Clear the vector.
934         (btrace_find_insn_by_number): Use binary search to find the correct
935         function call segment.
936         * btrace.h (brace_fun_p): New typedef.
937         (struct btrace_thread_info) <functions>: New field.
938
939 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
940
941         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
942         * btrace.c (btrace_decode_error): ... here.  New function.
943         * btrace.h (btrace_decode_error): New export.
944
945 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
946
947         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
948         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
949         btrace_find_insn_by_number): Remove special case for gaps.
950         * btrace.h (btrace_insn_get_error): New export.
951         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
952         * record-btrace.c (btrace_insn_history): Print number for gaps.
953         (record_btrace_info, record_btrace_goto): Handle gaps.
954
955 2017-02-14  Tom Tromey  <tom@tromey.com>
956
957         PR python/13598:
958         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
959         event.
960         * python/py-evts.c (gdbpy_initialize_py_events): Add
961         before_prompt registry.
962         * python/py-events.h (events_object) <before_prompt>: New field.
963
964 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
965
966         * btrace.c (ftrace_new_switch): Preserve up link and flags.
967
968 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
969
970         * symfile (_initialize_symfile): Add usage text to the load command's
971         help text.
972
973 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
974
975         * utils.c (defaulted_query): Don't query on secondary UIs.
976
977 2017-02-10  Tom Tromey  <tom@tromey.com>
978
979         * rust-lang.c (rust_get_disr_info): Remove unused variable.
980
981 2017-02-10  Tom Tromey  <tom@tromey.com>
982
983         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
984         "cleanup" local.
985         * python/py-type.c (typy_legacy_template_argument): Remove
986         unnecessary "cleanup" local.
987
988 2017-02-10  Tom Tromey  <tom@tromey.com>
989
990         * python/python.c (do_start_initialization): New function, from
991         _initialize_python.
992         (_initialize_python): Call do_start_initialization.
993         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
994         goto.
995
996 2017-02-10  Tom Tromey  <tom@tromey.com>
997
998         * python/py-prettyprint.c (pretty_print_one_value): Use
999         gdbpy_ref.
1000
1001 2017-02-10  Tom Tromey  <tom@tromey.com>
1002
1003         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
1004         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
1005         gdbpy_ref.
1006         * python/py-type.c (field_new): Use gdbpy_ref.
1007         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
1008         gdbpy_ref.
1009         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
1010         (py_free_pspace): Likewise.
1011         (pspace_to_pspace_object): Likewise.
1012         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
1013         (py_free_objfile): Likewise.
1014         (objfile_to_objfile_object): Likewise.
1015         * python/py-inferior.c (delete_thread_object): Use
1016         gdbpy_ref.
1017         (infpy_read_memory): Likewise.
1018         (py_free_inferior): Likewise.
1019         * python/py-evtregistry.c (create_eventregistry_object): Use
1020         gdbpy_ref.
1021         * python/py-event.c (create_event_object): Use gdbpy_ref.
1022
1023 2017-02-10  Tom Tromey  <tom@tromey.com>
1024
1025         * python/py-ref.h (gdbpy_ref_policy): Now a template.
1026         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
1027         used.
1028         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
1029         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
1030         python/py-exitedevent.c, python/py-finishbreakpoint.c,
1031         python/py-framefilter.c, python/py-function.c,
1032         python/py-inferior.c, python/py-infevents.c,
1033         python/py-linetable.c, python/py-newobjfileevent.c,
1034         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
1035         python/py-signalevent.c, python/py-stopevent.c,
1036         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
1037         python/py-unwind.c, python/py-utils.c, python/py-value.c,
1038         python/py-varobj.c, python/py-xmethods.c, python/python.c,
1039         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
1040
1041 2017-02-10  Tom Tromey  <tom@tromey.com>
1042
1043         * ui-out.h (ui_out_emit_type): New class.
1044         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
1045         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
1046         and ui_out_emit_tuple.
1047         (enumerate_locals): Likewise.
1048         (py_mi_print_variables, py_print_locals, py_print_args): Use
1049         ui_out_emit_list.
1050         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
1051         ui_out_emit_list.
1052         * common/gdb_optional.h: New file.
1053
1054 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
1055
1056         * MAINTAINERS (Write After Approval): Update my e-mail address.
1057
1058 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
1059
1060         PR gdb/21122
1061         * breakpoint.c (_initialize_breakpoint): Update the help description
1062         of the 'commands' command to indicate that it takes a list argument.
1063
1064 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
1065
1066         * interps.c (current_interp_set_logging): Remove "return".
1067
1068 2017-02-09  Gary Benson  <gbenson@redhat.com>
1069
1070         * symtab.c (add_symtab_completions): Prevent NULL pointer
1071         dereference.
1072
1073 2017-02-08  Pedro Alves  <palves@redhat.com>
1074
1075         * interps.c (interp::interp): Remove reference to quiet_p.
1076         (interp_set): Make static.  Remove dead "Switching to" output
1077         code.
1078         (interp_quiet_p, interp_set_quiet): Delete.
1079         (interpreter_exec_cmd): Don't set the interpreter quiet.
1080         * interps.h (interp_quiet_p): Make static.
1081         (class interp) <quiet_p>: Remove field
1082
1083 2017-02-08  Jerome Guitton  <guitton@adacore.com>
1084
1085         * cli/cli-decode.c (find_command_name_length): Make it extern.
1086         * cli/cli-decode.h (find_command_name_length): Declare.
1087         * cli/cli-script.c (command_name_equals, line_first_arg):
1088         New functions.
1089         (process_next_line): Use cli-decode to parse command names.
1090         (build_command_line): Make args a constant pointer.
1091
1092 2017-02-08  Jerome Guitton  <guitton@adacore.com>
1093
1094         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
1095         Remove case-insensitive search.
1096
1097 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
1098
1099         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
1100         at the end of the line.  Avoids an ARI warning.
1101
1102 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
1103
1104         * NEWS: Mention support for record/replay of Intel 64 rdrand and
1105         rdseed instructions.
1106         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
1107
1108 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
1109
1110         PR tdep/20936
1111         Provide and use sparc32 and sparc64 target description XML files.
1112         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
1113         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
1114         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
1115         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
1116         * features/sparc/sparc32-solaris.xml: New file.
1117         * features/sparc/sparc64-solaris.xml: New file.
1118         * features/sparc/sparc32-solaris.c: Generated.
1119         * features/sparc/sparc64-solaris.c: Generated.
1120         * sparc-tdep.h: Account for differences in target descriptions.
1121         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
1122         (sparc32_register_type): Use target provided registers.
1123         (validate_tdesc_registers): New function.
1124         (sparc32_gdbarch_init): Use tdesc_has_registers.
1125         Set pseudoregister functions.
1126         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
1127         (sparc64_register_type): Use target provided registers.
1128         (sparc64_init_abi): Set pseudoregister functions.
1129
1130 2017-02-03  Tom Tromey  <tom@tromey.com>
1131
1132         PR rust/21097:
1133         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
1134         with a single member.
1135
1136 2017-02-03  Pedro Alves  <palves@redhat.com>
1137
1138         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
1139         (cli_interp_base::~cli_interp_base): New.
1140         (cli_interp): New struct.
1141         (as_cli_interp): Cast the interp itself to cli_interp.
1142         (cli_interpreter_pre_command_loop): Rename to ...
1143         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
1144         parameter.
1145         (cli_interpreter_init): Rename to ...
1146         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
1147         boolean.  Make extern.
1148         (cli_interpreter_resume): Rename to ...
1149         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
1150         extern.
1151         (cli_interpreter_suspend): Rename to ...
1152         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
1153         extern.
1154         (cli_interpreter_exec): Rename to ...
1155         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
1156         extern.
1157         (cli_interpreter_supports_command_editing): Rename to ...
1158         (cli_interp_base::supports_command_editing): ... this.  Remove
1159         'interp' parameter.  Make extern.
1160         (cli_ui_out): Rename to ...
1161         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
1162         Make extern.
1163         (cli_set_logging): Rename to ...
1164         (cli_interp_base::set_logging): ... this.  Remove 'interp'
1165         parameter.  Make extern.
1166         (cli_interp_procs): Delete.
1167         (cli_interp_factory): Adjust to use "new".
1168         * cli/cli-interp.h: Include "interps.h".
1169         (struct cli_interp_base): New struct.
1170         * interps.c (struct interp): Delete.  Fields moved to interps.h.
1171         (interp_new): Delete.
1172         (interp::interp, interp::~interp): New.
1173         (interp_set): Use bool, and return void.  Assume the interpreter
1174         has suspend, init and resume methods, and that the all return
1175         void.
1176         (set_top_level_interpreter): interp_set returns void.
1177         (interp_ui_out): Adapt.
1178         (current_interp_set_logging): Adapt.
1179         (interp_data): Delete.
1180         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
1181         (interp_exec): Adapt.
1182         (top_level_interpreter_data): Delete.
1183         * interps.h (interp_init_ftype, interp_resume_ftype)
1184         (interp_suspend_ftype, interp_exec_ftype)
1185         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
1186         (class interp): New.
1187         (interp_new): Delete.
1188         (interp_set): Now returns void.  Use bool.
1189         (interp_data, top_level_interpreter_data): Delete.
1190         * mi/mi-common.h: Include interps.h.
1191         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
1192         init, resume, suspect, exec, interp_ui_out, set_logging and
1193         pre_command_loop methods.
1194         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
1195         (mi_interpreter_init): Rename to ...
1196         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
1197         bool, return void and make extern.  Adjust.
1198         (mi_interpreter_resume): ... Rename to ...
1199         (mi_interp::resume): ... this.  Remove the 'data' parameter,
1200         return void and make extern.  Adjust.
1201         (mi_interpreter_suspend): ... Rename to ...
1202         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
1203         return void and make extern.  Adjust.
1204         (mi_interpreter_exec): ... Rename to ...
1205         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
1206         extern.  Adjust.
1207         (mi_interpreter_pre_command_loop): ... Rename to ...
1208         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
1209         parameter and make extern.
1210         (mi_on_normal_stop_1): Adjust.
1211         (mi_ui_out): Rename to ...
1212         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
1213         parameter and make extern.  Adjust.
1214         (mi_set_logging): Rename to ...
1215         (mi_interp::set_logging): ... this.  Remove the 'interp'
1216         parameter and make extern.  Adjust.
1217         (mi_interp_procs): Delete.
1218         (mi_interp_factory): Adjust to use 'new'.
1219         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
1220         (mi_print_exception, mi_execute_command, mi_load_progress):
1221         Adjust.
1222         * tui/tui-interp.c (tui_interp): New class.
1223         (as_tui_interp): Return a tui_interp pointer.
1224         (tui_on_normal_stop, tui_on_signal_received)
1225         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
1226         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
1227         to use interp::interp_ui_out.
1228         (tui_init): Rename to ...
1229         (tui_interp::init): ... this.  Remove the 'self' parameter, use
1230         bool, return void and make extern.  Adjust.
1231         (tui_resume): Rename to ...
1232         (tui_interp::resume): ... this.  Remove the 'data' parameter,
1233         return void and make extern.  Adjust.
1234         (tui_suspend): Rename to ...
1235         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
1236         return void and make extern.  Adjust.
1237         (tui_ui_out): Rename to ...
1238         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
1239         parameter, and make extern.  Adjust.
1240         (tui_exec): Rename to ...
1241         (tui_interp::exec): ... this.  Remove the 'data' parameter and
1242         make extern.
1243         (tui_interp_procs): Delete.
1244         (tui_interp_factory): Use "new".
1245
1246 2017-02-02  Tom Tromey  <tom@tromey.com>
1247
1248         * rust-exp.y (ends_raw_string, space_then_number)
1249         (rust_identifier_start_p): Return bool.
1250         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
1251         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
1252         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
1253         (rust_chartype_p): Return bool.
1254         (val_print_struct, rust_print_struct_def, rust_print_type):
1255         Update.
1256         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
1257         Return bool.
1258
1259 2017-02-02  Tom Tromey  <tom@tromey.com>
1260
1261         * rust-lang.c: Reindent.
1262
1263 2017-02-02  Tom Tromey  <tom@tromey.com>
1264
1265         * rust-lang.h (rust_crate_for_block): Update.
1266         * rust-lang.c (rust_crate_for_block): Return std::string.
1267         (rust_get_disr_info): Use std:;string, not
1268         gdb::unique_xmalloc_ptr.
1269         * rust-exp.y (crate_name): Update.
1270
1271 2017-02-02  Pedro Alves  <palves@redhat.com>
1272
1273         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
1274         field out of gdb_disassembler_test and make it static.
1275
1276 2017-02-02  Pedro Alves  <palves@redhat.com>
1277
1278         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
1279         mi1_interp and mi_interp fields.
1280
1281 2017-02-02  Pedro Alves  <palves@redhat.com>
1282
1283         * cli/cli-interp.c (struct saved_output_files, saved_output):
1284         Moved from cli/cli-logging.c.
1285         (cli_set_logging): New function.
1286         (cli_interp_procs): Install cli_set_logging.
1287         * cli/cli-interp.h (make_logging_output, cli_set_logging):
1288         Declare.
1289         * cli/cli-logging.c (struct saved_output_files, saved_output):
1290         Moved to cli/cli-interp.c.
1291         (pop_output_files): Don't save outputs here.
1292         (make_logging_output): New function.
1293         (handle_redirections): Don't build tee nor save previous outputs
1294         here.
1295         * interps.c (current_interp_set_logging): Change prototype.
1296         Assume there's always a set_logging_proc method installed.
1297         * interps.h (interp_set_logging_ftype): Change prototype.
1298         (current_interp_set_logging): Change prototype and adjust comment.
1299         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
1300         use make_logging_output.
1301         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
1302 2017-02-02  Pedro Alves  <palves@redhat.com>
1303
1304         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
1305         from ...
1306         (set_logging_overwrite): ... here.
1307         (logging_no_redirect_file): Delete.
1308         (set_logging_redirect): Don't handle redirection on the fly.
1309         Instead warn that "logging off" / "logging on" is necessary.
1310         (pop_output_files): Delete references to logging_no_redirect_file.
1311         (show_logging_command): Always speak in terms of what will happen
1312         once logging is reenabled.
1313
1314 2017-02-02  Pedro Alves  <palves@redhat.com>
1315
1316         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
1317
1318 2017-02-02  Pedro Alves  <palves@redhat.com>
1319
1320         * disasm.c (gdb_pretty_print_insn): Rename to ...
1321         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
1322         Remove gdbarch parameter.  Adapt to clear the object's buffers
1323         instead of allocating new buffers, and to print using the object's
1324         gdb_disassembler instead of calling gdb_print_insn.
1325         (dump_insns): Use gdb_pretty_print_disassembler.
1326         * disasm.h (gdb_pretty_print_insn): Delete declaration.
1327         (gdb_pretty_print_disassembler): New class.
1328         * record-btrace.c (btrace_insn_history): Use
1329         gdb_pretty_print_disassembler.
1330
1331 2017-02-02  Pedro Alves  <palves@redhat.com>
1332
1333         * ada-lang.c (type_as_string): Use string_file.
1334         * ada-valprint.c (ada_print_floating): Use string_file.
1335         * ada-varobj.c (ada_varobj_scalar_image)
1336         (ada_varobj_get_value_image): Use string_file.
1337         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
1338         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
1339         * breakpoint.c (update_inserted_breakpoint_locations)
1340         (insert_breakpoint_locations, reattach_breakpoints)
1341         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
1342         (print_it_watchpoint): Use string_file.
1343         (save_breakpoints): Use stdio_file.
1344         * c-exp.y (oper): Use string_file.
1345         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
1346         tee_file.
1347         (pop_output_files): Use delete.
1348         (handle_redirections): Use stdio_file and tee_file.
1349         * cli/cli-setshow.c (do_show_command): Use string_file.
1350         * compile/compile-c-support.c (c_compute_program): Use
1351         string_file.
1352         * compile/compile-c-symbols.c (generate_vla_size): Take a
1353         'string_file &' instead of a 'ui_file *'.
1354         (generate_c_for_for_one_variable): Take a 'string_file &' instead
1355         of a 'ui_file *'.  Use string_file.
1356         (generate_c_for_variable_locations): Take a 'string_file &'
1357         instead of a 'ui_file *'.
1358         * compile/compile-internal.h (generate_c_for_for_one_variable):
1359         Take a 'string_file &' instead of a 'ui_file *'.
1360         * compile/compile-loc2c.c (push, pushf, unary, binary)
1361         (print_label, pushf_register_address, pushf_register)
1362         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
1363         'ui_file *'.  Adjust.
1364         * compile/compile.c (compile_to_object): Use string_file.
1365         * compile/compile.h (compile_dwarf_expr_to_c)
1366         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
1367         'ui_file *'.
1368         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
1369         (replace_typedefs_qualified_name): Use string_file and
1370         obstack_copy0.
1371         * disasm.c (gdb_pretty_print_insn): Use string_file.
1372         (gdb_disassembly): Adjust reference the null_stream global.
1373         (do_ui_file_delete): Delete.
1374         (gdb_insn_length): Use null_stream.
1375         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
1376         * dwarf2loc.c (dwarf2_compile_property_to_c)
1377         (locexpr_generate_c_location, loclist_generate_c_location): Take a
1378         'string_file &' instead of a 'ui_file *'.
1379         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
1380         * dwarf2read.c (do_ui_file_peek_last): Delete.
1381         (dwarf2_compute_name): Use string_file.
1382         * event-top.c (gdb_setup_readline): Use stdio_file.
1383         * gdbarch.sh (verify_gdbarch): Use string_file.
1384         * gdbtypes.c (safe_parse_type): Use null_stream.
1385         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
1386         string_file.
1387         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
1388         'string_file *' instead of a 'ui_file *'.
1389         (gdbscm_arch_disassemble): Use string_file.
1390         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
1391         * guile/scm-ports.c (class ioscm_file_port): Now a class that
1392         inherits from ui_file.
1393         (ioscm_file_port_delete, ioscm_file_port_rewind)
1394         (ioscm_file_port_put): Delete.
1395         (ioscm_file_port_write): Rename to ...
1396         (ioscm_file_port::write): ... this.  Remove file_port_magic
1397         checks.
1398         (ioscm_file_port_new): Delete.
1399         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
1400         ui_file_up.
1401         * guile/scm-type.c (tyscm_type_name): Use string_file.
1402         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
1403         Use string_file.
1404         * infcmd.c (print_return_value_1): Use string_file.
1405         * infrun.c (print_target_wait_results): Use string_file.
1406         * language.c (add_language): Use string_file.
1407         * location.c (explicit_to_string_internal): Use string_file.
1408         * main.c (captured_main_1): Use null_file.
1409         * maint.c (maintenance_print_architecture): Use stdio_file.
1410         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
1411         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
1412         event_channel>: Change type to mi_console_file pointer.
1413         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
1414         (mi_console_file_delete): Delete.
1415         (struct mi_console_file): Delete.
1416         (mi_console_file_magic): Delete.
1417         (mi_console_file_new): Delete.
1418         (mi_console_file::mi_console_file): New.
1419         (mi_console_file_delete): Delete.
1420         (mi_console_file_fputs): Delete.
1421         (mi_console_file::write): New.
1422         (mi_console_raw_packet): Delete.
1423         (mi_console_file::flush): New.
1424         (mi_console_file_flush): Delete.
1425         (mi_console_set_raw): Rename to ...
1426         (mi_console_file::set_raw): ... this.
1427         * mi/mi-console.h (class mi_console_file): New class.
1428         (mi_console_file_new, mi_console_set_raw): Delete.
1429         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
1430         (mi_set_logging): Use delete and tee_file.  Adjust.
1431         * mi/mi-main.c (output_register): Use string_file.
1432         (mi_cmd_data_evaluate_expression): Use string_file.
1433         (mi_cmd_data_read_memory): Use string_file.
1434         (mi_cmd_execute, print_variable_or_computed): Use string_file.
1435         * mi/mi-out.c (mi_ui_out::main_stream): New.
1436         (mi_ui_out::rewind): Use main_stream and
1437         string_file.
1438         (mi_ui_out::put): Use main_stream and string_file.
1439         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
1440         Allocate a 'string_file' instead.
1441         (mi_out_new): Don't allocate a mem_fileopen stream here.
1442         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
1443         (mi_ui_out::main_stream): Declare method.
1444         * printcmd.c (eval_command): Use string_file.
1445         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
1446         * python/py-arch.c (archpy_disassemble): Use string_file.
1447         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
1448         * python/py-frame.c (frapy_str): Use string_file.
1449         * python/py-framefilter.c (py_print_type, py_print_single_arg):
1450         Use string_file.
1451         * python/py-type.c (typy_str): Use string_file.
1452         * python/py-unwind.c (unwind_infopy_str): Use string_file.
1453         * python/py-value.c (valpy_str): Use string_file.
1454         * record-btrace.c (btrace_insn_history): Use string_file.
1455         * regcache.c (regcache_print): Use stdio_file.
1456         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
1457         * remote.c (escape_buffer): Use string_file.
1458         * rust-lang.c (rust_get_disr_info): Use string_file.
1459         * serial.c (serial_open_ops_1): Use stdio_file.
1460         (do_serial_close): Use delete.
1461         * stack.c (print_frame_arg): Use string_file.
1462         (print_frame_args): Remove local mem_fileopen stream, not used.
1463         (print_frame): Use string_file.
1464         * symmisc.c (maintenance_print_symbols): Use stdio_file.
1465         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
1466         Take a 'string_file *' instead of a 'ui_file *'.
1467         * top.c (new_ui): Use stdio_file and stderr_file.
1468         (free_ui): Use delete.
1469         (execute_command_to_string): Use string_file.
1470         (quit_confirm): Use string_file.
1471         * tracepoint.c (collection_list::append_exp): Use string_file.
1472         * tui/tui-disasm.c (tui_disassemble): Use string_file.
1473         * tui/tui-file.c: Don't include "ui-file.h".
1474         (enum streamtype, struct tui_stream): Delete.
1475         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
1476         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
1477         (tui_file::tui_file): New method.
1478         (tui_file_fputs): Delete.
1479         (tui_file_get_strbuf): Delete.
1480         (tui_file::puts): New method.
1481         (tui_file_adjust_strbuf): Delete.
1482         (tui_file_flush): Delete.
1483         (tui_file::flush): New method.
1484         * tui/tui-file.h: Tweak intro comment.
1485         Include ui-file.h.
1486         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
1487         (tui_file_adjust_strbuf): Delete declarations.
1488         (class tui_file): New class.
1489         * tui/tui-io.c (tui_initialize_io): Use tui_file.
1490         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
1491         (tui_register_format): Use string_stream.
1492         * tui/tui-stack.c (tui_make_status_line): Use string_file.
1493         (tui_get_function_from_frame): Use string_file.
1494         * typeprint.c (type_to_string): Use string_file.
1495         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
1496         (null_stream): New global.
1497         (ui_file_delete): Delete.
1498         (ui_file::ui_file): New.
1499         (null_file_isatty): Delete.
1500         (ui_file::~ui_file): New.
1501         (null_file_rewind): Delete.
1502         (ui_file::printf): New.
1503         (null_file_put): Delete.
1504         (null_file_flush): Delete.
1505         (ui_file::putstr): New.
1506         (null_file_write): Delete.
1507         (ui_file::putstrn): New.
1508         (null_file_read): Delete.
1509         (ui_file::putc): New.
1510         (null_file_fputs): Delete.
1511         (null_file_write_async_safe): Delete.
1512         (ui_file::vprintf): New.
1513         (null_file_delete): Delete.
1514         (null_file::write): New.
1515         (null_file_fseek): Delete.
1516         (null_file::puts): New.
1517         (ui_file_data): Delete.
1518         (null_file::write_async_safe): New.
1519         (gdb_flush, ui_file_isatty): Adjust.
1520         (ui_file_put, ui_file_rewind): Delete.
1521         (ui_file_write): Adjust.
1522         (ui_file_write_for_put): Delete.
1523         (ui_file_write_async_safe, ui_file_read): Adjust.
1524         (ui_file_fseek): Delete.
1525         (fputs_unfiltered): Adjust.
1526         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
1527         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
1528         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
1529         (set_ui_file_data): Delete.
1530         (string_file::~string_file, string_file::write)
1531         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
1532         (do_ui_file_as_string, ui_file_as_string): Delete.
1533         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
1534         (struct mem_file): Delete.
1535         (mem_file_new): Delete.
1536         (stdio_file::stdio_file): New.
1537         (mem_file_delete): Delete.
1538         (stdio_file::stdio_file): New.
1539         (mem_fileopen): Delete.
1540         (stdio_file::~stdio_file): New.
1541         (mem_file_rewind): Delete.
1542         (stdio_file::set_stream): New.
1543         (mem_file_put): Delete.
1544         (stdio_file::open): New.
1545         (mem_file_write): Delete.
1546         (stdio_file_magic, struct stdio_file): Delete.
1547         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
1548         (stdio_file::flush): New.
1549         (stdio_file_read): Rename to ...
1550         (stdio_file::read): ... this.  Adjust.
1551         (stdio_file_write): Rename to ...
1552         (stdio_file::write): ... this.  Adjust.
1553         (stdio_file_write_async_safe): Rename to ...
1554         (stdio_file::write_async_safe) ... this.  Adjust.
1555         (stdio_file_fputs): Rename to ...
1556         (stdio_file::puts) ... this.  Adjust.
1557         (stdio_file_isatty): Delete.
1558         (stdio_file_fseek): Delete.
1559         (stdio_file::isatty): New.
1560         (stderr_file_write): Rename to ...
1561         (stderr_file::write) ... this.  Adjust.
1562         (stderr_file_fputs): Rename to ...
1563         (stderr_file::puts) ... this.  Adjust.
1564         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
1565         (stderr_file::stderr_file): New.
1566         (tee_file_magic): Delete.
1567         (struct tee_file): Delete.
1568         (tee_file::tee_file): New.
1569         (tee_file_new): Delete.
1570         (tee_file::~tee_file): New.
1571         (tee_file_delete): Delete.
1572         (tee_file_flush): Rename to ...
1573         (tee_file::flush): ... this.  Adjust.
1574         (tee_file_write): Rename to ...
1575         (tee_file::write): ... this.  Adjust.
1576         (tee_file::write_async_safe): New.
1577         (tee_file_fputs): Rename to ...
1578         (tee_file::puts): ... this.  Adjust.
1579         (tee_file_isatty): Rename to ...
1580         (tee_file::isatty): ... this.  Adjust.
1581         * ui-file.h (struct obstack, struct ui_file): Don't
1582         forward-declare.
1583         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
1584         (ui_file_write_ftype)
1585         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
1586         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
1587         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
1588         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
1589         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
1590         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
1591         (set_ui_file_fseek): Delete.
1592         (ui_file_data, ui_file_delete, ui_file_rewind)
1593         (struct ui_file): New.
1594         (ui_file_up): New.
1595         (class null_file): New.
1596         (null_stream): Declare.
1597         (ui_file_write_for_put, ui_file_put): Delete.
1598         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
1599         Delete.
1600         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
1601         (gdb_fopen, tee_file_new): Delete.
1602         (struct string_file): New.
1603         (struct stdio_file): New.
1604         (stdio_file_up): New.
1605         (struct stderr_file): New.
1606         (class tee_file): New.
1607         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
1608         of a 'ui_file *'.  Adjust.
1609         * ui-out.h (class ui_out) <field_stream>: Likewise.
1610         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
1611         (null_stream): Delete.
1612         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
1613         Adjust.
1614         * utils.h (struct ui_file): Delete forward declaration..
1615         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
1616         (error_stream): Take a 'string_file &' instead of a
1617         'ui_file *'.
1618         * varobj.c (varobj_value_get_print_value): Use string_file.
1619         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
1620         * gdbarch.c: Regenerate.
1621
1622 2017-02-02  Pedro Alves  <palves@redhat.com>
1623
1624         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
1625         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
1626         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
1627         Adjust to call gdb_print_insn instead of
1628         gdb_disassembler::print_insn.
1629         (dump_insns, do_mixed_source_and_assembly_deprecated)
1630         (do_mixed_source_and_assembly, do_assembly_only): Add back a
1631         'gdbarch' parameter.  Remove gdb_disassembler parameter.
1632         (gdb_disassembly): Don't allocate a gdb_disassembler here.
1633         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
1634         declaration.
1635         (gdb_pretty_print_insn): Re-add declaration.
1636         * record-btrace.c (btrace_insn_history): Don't allocate a
1637         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
1638
1639 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
1640
1641         * disasm.h (gdb_disassembly): Remove file_string parameter.
1642         * disasm.c (gdb_disassembly): Likewise.
1643         * cli/cli-cmds.c (print_disassembly): Adapt.
1644         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
1645         * stack.c (do_gdb_disassembly): Likewise.
1646
1647 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1648
1649         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
1650         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
1651         targets.  And if the implicit value is longer than needed, extract
1652         the first bytes instead of the "least significant" ones.
1653
1654 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
1655
1656         * btrace.c (btrace_enable): Do not call btrace_add_pc for
1657         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
1658         (btrace_fetch): Assert can_access_registers_ptid.
1659         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
1660         validate_registers_access.
1661
1662 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
1663
1664         * gdbthread.h (can_access_registers_ptid): New.
1665         * thread.c (can_access_registers_ptid): New.
1666
1667 2017-02-01  Pedro Alves  <palves@redhat.com>
1668
1669         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
1670
1671 2017-01-31  Pedro Alves  <palves@redhat.com>
1672
1673         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
1674         Fix typos.
1675
1676 2017-01-31  Pedro Alves  <palves@redhat.com>
1677
1678         * stack.c (print_frame_args): Remove local mem_fileopen stream,
1679         not used.
1680
1681 2017-01-31  Pedro Alves  <palves@redhat.com>
1682
1683         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
1684
1685 2017-01-31  Pedro Alves  <palves@redhat.com>
1686
1687         * common/scoped_restore.h
1688         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
1689         change the value's parameter type to T2.
1690         (make_scoped_restore): Likewise.
1691
1692 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
1693             Richard Henderson  <rth@redhat.com>
1694
1695         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
1696         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
1697         GS_BASE for older kernels.
1698         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
1699         GS_BASE for older kernels.
1700         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
1701         and GS_BASE to the offset table.
1702         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
1703         system register group.
1704         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
1705         for older kernels.
1706         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
1707         amd64 ABI.
1708         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
1709         AMD64_GSBASE_REGNUM.
1710         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
1711         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
1712         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
1713         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
1714         i386/64bit-segments.xml in those rules.
1715         * features/i386/64bit-segments.xml: New file.
1716         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
1717         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
1718         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
1719         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
1720         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
1721         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
1722         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
1723         * features/i386/amd64-avx-linux.c: Regenerated.
1724         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
1725         * features/i386/amd64-avx-mpx.c: Regenerated.
1726         * features/i386/amd64-avx512-linux.c: Regenerated.
1727         * features/i386/amd64-linux.c: Regenerated.
1728         * features/i386/amd64-mpx-linux.c: Regenerated.
1729         * features/i386/i386-avx-mpx-linux.c: Regenerated.
1730         * features/i386/i386-avx-mpx.c: Regenerated.
1731         * features/i386/x32-avx-linux.c: Regenerated.
1732         * features/i386/x32-avx512-linux.c: Regenerated.
1733         * regformats/i386/amd64-avx-linux.dat: Regenerated.
1734         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
1735         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
1736         * regformats/i386/amd64-linux.dat: Regenerated.
1737         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
1738         * regformats/i386/x32-avx-linux.dat: Regenerated.
1739         * regformats/i386/x32-avx512-linux.dat: Regenerated.
1740         * regformats/i386/x32-linux.dat: Regenerated.
1741
1742 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
1743
1744         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
1745         Set to AMD64_NUM_REGS.
1746
1747 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
1748
1749         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
1750         that checks validity of a register number.
1751
1752 2017-01-27  Kees Cook  <keescook@google.com>
1753
1754         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
1755         fetch_fpregs if target has fpa registers.
1756         (arm_linux_store_inferior_registers): Call store_fpregs if target
1757         has fpa registers.
1758
1759 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1760
1761         * cris-tdep.c (cris_gdbarch_init): Remove check for
1762         info.byte_order and force it to BFD_ENDIAN_LITTLE.
1763
1764 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1765
1766         * corelow.c (get_core_register_section): Check for regset
1767         existence before checking for REGSET_VARIABLE_SIZE.
1768
1769 2017-01-26  Yao Qi  <yao.qi@linaro.org>
1770             Pedro Alves  <palves@redhat.com>
1771
1772         PR gdb/20939
1773         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
1774         call memory_error, save memaddr instead.
1775         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
1776         negative, cal memory_error.
1777         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
1778
1779 2017-01-26  Yao Qi  <yao.qi@linaro.org>
1780
1781         * disasm-selftests.c (memory_error_test): New function.
1782         (_initialize_disasm_selftests): Register memory_error_test.
1783
1784 2017-01-26  Yao Qi  <yao.qi@linaro.org>
1785
1786         * Makefile.in (SFILES): Add disasm-selftests.c and
1787         selftest-arch.c.
1788         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
1789         * disasm-selftests.c: New file.
1790         * selftest-arch.c: New file.
1791         * selftest-arch.h: New file.
1792
1793 2017-01-26  Yao Qi  <yao.qi@linaro.org>
1794
1795         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
1796         to bfd_arch_mep.  Don't return 0 if section is not
1797         found.  Call print_insn_mep.
1798
1799 2017-01-26  Pedro Alves  <palves@redhat.com>
1800             Yao Qi  <yao.qi@linaro.org>
1801
1802         * arm-tdep.c: Include "disasm.h".
1803         (gdb_print_insn_arm): Update code to get gdbarch.
1804         * disasm.c (dis_asm_read_memory): Change it to
1805         gdb_disassembler::dis_asm_read_memory.
1806         (dis_asm_memory_error): Likewise.
1807         (dis_asm_print_address): Likewise.
1808         (gdb_pretty_print_insn): Change it to
1809         gdb_disassembler::pretty_print_insn.
1810         (dump_insns): Add one argument gdb_disassemlber.  All
1811         callers updated.
1812         (do_mixed_source_and_assembly_deprecated): Likewise.
1813         (do_mixed_source_and_assembly): Likewise.
1814         (do_assembly_only): Likewise.
1815         (gdb_disassembler::gdb_disassembler): New.
1816         (gdb_disassembler::print_insn): New.
1817         * disasm.h (class gdb_disassembler): New.
1818         (gdb_pretty_print_insn): Remove declaration.
1819         (gdb_disassemble_info): Likewise.
1820         * guile/scm-disasm.c (class gdbscm_disassembler): New.
1821         (gdbscm_disasm_read_memory_worker): Update.
1822         (gdbscm_disasm_read_memory): Update.
1823         (gdbscm_disasm_memory_error): Remove.
1824         (gdbscm_disasm_print_address): Remove.
1825         (gdbscm_disassembler::gdbscm_disassembler): New.
1826         (gdbscm_print_insn_from_port): Update.
1827         * mips-tdep.c: Include disasm.h.
1828         (gdb_print_insn_mips): Update code to get gdbarch.
1829         * record-btrace.c (btrace_insn_history): Update.
1830         * spu-tdep.c: Include disasm.h.
1831         (struct spu_dis_asm_data): Remove.
1832         (struct spu_dis_asm_info): New.
1833         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
1834         SPU id.
1835         (gdb_print_insn_spu): Cast disassemble_info to
1836         spu_dis_asm_info.
1837
1838 2017-01-26  Yao Qi  <yao.qi@linaro.org>
1839
1840         * disasm.c (do_ui_file_delete): Delete.
1841         (gdb_insn_length): Move code creating stream to ...
1842         * utils.c (null_stream): ... here.  New function.
1843         * utils.h (null_stream): Declare.
1844
1845 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
1846
1847         * python/py-inferior.c (find_thread_object): Return directly
1848         from the loop.  Remove "found" variable.
1849
1850 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
1851
1852         GDB 7.12.1 released.
1853
1854 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
1855
1856         * python/py-function.c (fnpy_call): Reorder declarations to have
1857         the gdbpy_enter object declared first.
1858         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
1859
1860 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
1861
1862         PR python/21068
1863         * python/python-internal.h (PyMem_RawMalloc): Define for
1864         Python < 3.4.
1865         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
1866         PyMem_RawMalloc instead of PyMem_Malloc.
1867
1868 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
1869             Luis Machado  <lgustavo@codesourcery.com>
1870
1871         * NEWS (New commands): Mention flash-erase.
1872         (New MI commands): Mention target-flash-erase.
1873         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
1874         command.
1875         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
1876         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
1877         * target.c (flash_erase_command): New function.
1878         (initialize_targets): Add new flash-erase command.
1879         * target.h (flash_erase_command): New declaration.
1880
1881 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
1882
1883         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
1884         HAVE_SYS_PROCFS_H is defined.
1885
1886 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
1887
1888         * remote.c (struct cached_reg): Change data into a pointer.
1889         * (stop_reply_dtr): Free data pointers before deleting vector.
1890         (process_stop_reply): Likewise.
1891         (remote_parse_stop_reply): Allocate space for data
1892
1893 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
1894
1895         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
1896         MAX_REGISTER_SIZE.
1897         (amd64_pseudo_register_read_value): Likewise.
1898         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
1899         (store_register_using_P): Likewise.
1900         * regcache.c (regcache_xfer_part): Likewise.
1901
1902 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
1903
1904         Split real and pseudo registers.
1905         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
1906         (sparc32_pseudo_regnum): New enum.
1907         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
1908         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
1909         (SPARC32_CP0_REGISTERS): New macro.
1910         (sparc32_pseudo_register_name): New function.
1911         (sparc32_register_name): Use sparc32_pseudo_register_name.
1912         (sparc32_pseudo_register_type): New function.
1913         (sparc32_register_type): Use sparc32_pseudo_register_type.
1914         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
1915         pseudo register numbers.
1916         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
1917         (SPARC64_CP0_REGISTERS): New macro.
1918         (sparc64_pseudo_register_name): New function.
1919         (sparc64_register_name): Use sparc64_pseudo_register_name.
1920         (sparc64_pseudo_register_type): New function.
1921         (sparc64_register_type): Use sparc64_pseudo_register_type.
1922         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
1923         pseudo register numbers.
1924         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
1925         sparc64_store_arguments): Handle pseudo register numbers.
1926
1927 2017-01-13  Yao Qi  <yao.qi@linaro.org>
1928
1929         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
1930         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
1931         output.
1932         (getpkt_or_notif_sane_1): Likewise.
1933
1934 2017-01-13  Yao Qi  <yao.qi@linaro.org>
1935
1936         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
1937         of CC.  Pass "-x c++-header" instead of "-x c".
1938
1939 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
1940
1941         * remote.c (remote_can_async_p): Update comment.
1942
1943 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
1944
1945         * linux-nat.c (linux_nat_can_async_p): Update comment.
1946
1947 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
1948
1949         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
1950
1951 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
1952
1953         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
1954
1955 2017-01-10  Tom Tromey  <tom@tromey.com>
1956
1957         * python/py-type.c (typy_legacy_template_argument): Update.
1958         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
1959         ~demangle_parse_info): Declare new members.
1960         (cp_demangled_name_to_comp): Return unique_ptr.
1961         (cp_demangled_name_parse_free)
1962         (make_cleanup_cp_demangled_name_parse_free)
1963         (cp_new_demangle_parse_info): Remove.
1964         * cp-support.c (do_demangled_name_parse_free_cleanup)
1965         (make_cleanup_cp_demangled_name_parse_free): Remove.
1966         (inspect_type, cp_canonicalize_string_full)
1967         (cp_canonicalize_string): Update.
1968         (mangled_name_to_comp): Change return type.
1969         (cp_class_name_from_physname, method_name_from_physname)
1970         (cp_func_name, cp_remove_params): Update.
1971         * cp-name-parser.y (demangle_parse_info): New constructor, from
1972         cp_new_demangle_parse_info.
1973         (~demangle_parse_info): New destructor, from
1974         cp_demangled_name_parse_free.
1975         (cp_merge_demangle_parse_infos): Update.
1976         (cp_demangled_name_to_comp): Change return type.
1977
1978 2017-01-10  Tom Tromey  <tom@tromey.com>
1979
1980         * top.c (prevent_dont_repeat): Change return type.
1981         * python/python.c (execute_gdb_command): Use std::string.
1982         Update.
1983         * guile/guile.c (gdbscm_execute_gdb_command): Update.
1984         * command.h (prevent_dont_repeat): Change return type.
1985         * breakpoint.c (bpstat_do_actions_1): Update.
1986
1987 2017-01-10  Tom Tromey  <tom@tromey.com>
1988
1989         * value.h (scoped_value_mark::~scoped_value_mark): Call
1990         free_to_mark.
1991         (scoped_value_mark::free_to_mark): New method.
1992         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
1993         scoped_value_mark.
1994
1995 2017-01-10  Tom Tromey  <tom@tromey.com>
1996
1997         * python/py-value.c (valpy_dereference, valpy_referenced_value)
1998         (valpy_reference_value, valpy_const_value, valpy_get_address)
1999         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
2000         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
2001         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
2002         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
2003         scoped_value_mark.
2004         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
2005         * value.h (scoped_value_mark): New class.
2006
2007 2017-01-10  Tom Tromey  <tom@tromey.com>
2008
2009         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
2010         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
2011         * psymtab.c (discard_psymtabs_upto): Remove.
2012         (make_cleanup_discard_psymtabs): Remove.
2013         (struct psymtab_state): Remove.
2014
2015 2017-01-10  Tom Tromey  <tom@tromey.com>
2016
2017         * record-full.c (record_full_save_cleanups): Remove.
2018         (record_full_save): Use gdb::unlinker.
2019         * gcore.c (do_bfd_delete_cleanup): Remove.
2020         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
2021         cleanups.
2022         * dwarf2read.c (unlink_if_set): Remove.
2023         (write_psymtabs_to_index): Use gdb::unlinker.
2024         * common/gdb_unlinker.h: New file.
2025
2026 2017-01-10  Tom Tromey  <tom@tromey.com>
2027
2028         * windows-tdep.c (windows_xfer_shared_library): Update.
2029         * windows-nat.c (windows_make_so): Update.
2030         * utils.h (make_cleanup_bfd_unref): Remove.
2031         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
2032         * symfile.h (symfile_bfd_open)
2033         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
2034         * symfile.c (read_symbols, symbol_file_add)
2035         (separate_debug_file_exists): Update.
2036         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
2037         (generic_load, reread_symbols): Update.
2038         * symfile-mem.c (symbol_file_add_from_memory): Update.
2039         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
2040         (spu_symbol_file_add_from_memory): Update.
2041         * solist.h (struct target_so_ops) <bfd_open>: Return
2042         gdb_bfd_ref_ptr.
2043         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
2044         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
2045         gdb_bfd_ref_ptr.
2046         (solib_map_sections, reload_shared_libraries_1): Update.
2047         * solib-svr4.c (enable_break): Update.
2048         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
2049         * solib-frv.c (enable_break2): Update.
2050         * solib-dsbt.c (enable_break): Update.
2051         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
2052         gdb_bfd_ref_ptr.
2053         (darwin_solib_get_all_image_info_addr_at_init): Update.
2054         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
2055         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
2056         * record-full.c (record_full_save): Update.
2057         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
2058         * procfs.c (insert_dbx_link_bpt_in_file): Update.
2059         * minidebug.c (find_separate_debug_file_in_section): Return
2060         gdb_bfd_ref_ptr.
2061         * machoread.c (macho_add_oso_symfile): Change abfd to
2062         gdb_bfd_ref_ptr.
2063         (macho_symfile_read_all_oso): Update.
2064         (macho_check_dsym): Return gdb_bfd_ref_ptr.
2065         (macho_symfile_read): Update.
2066         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
2067         (jit_bfd_try_read_symtab): Update.
2068         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
2069         (gdb_bfd_openw, gdb_bfd_openr_iovec)
2070         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
2071         gdb_bfd_ref_ptr.
2072         (gdb_bfd_ref_policy): New struct.
2073         (gdb_bfd_ref_ptr): New typedef.
2074         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
2075         (gdb_bfd_openw, gdb_bfd_openr_iovec)
2076         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
2077         gdb_bfd_ref_ptr.
2078         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
2079         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
2080         (gcore_command): Update.
2081         * exec.c (exec_file_attach): Update.
2082         * elfread.c (elf_symfile_read): Update.
2083         * dwarf2read.c (dwarf2_get_dwz_file): Update.
2084         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
2085         (open_and_init_dwo_file): Update.
2086         (open_dwp_file): Return gdb_bfd_ref_ptr.
2087         (open_and_init_dwp_file): Update.
2088         * corelow.c (core_open): Update.
2089         * compile/compile-object-load.c (compile_object_load): Update.
2090         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
2091         * coffread.c (coff_symfile_read): Update.
2092         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
2093         gdb_bfd_ref_ptr.  Rename.
2094         (dump_bfd_file, restore_command): Update.
2095         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
2096         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
2097         (find_separate_debug_file_by_buildid): Update.
2098
2099 2017-01-10  Tom Tromey  <tom@tromey.com>
2100
2101         * common/gdb_ref_ptr.h: New file.
2102         * python/py-ref.h (struct gdbpy_ref_policy): New.
2103         (gdbpy_ref): Now a typedef.
2104
2105 2017-01-10  Tom Tromey  <tom@tromey.com>
2106
2107         * utils.h (make_cleanup_htab_delete): Don't declare.
2108         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
2109         Remove.
2110         * linespec.c (decode_compound_collector): Add constructor,
2111         destructor.
2112         (lookup_prefix_sym): Remove cleanup.
2113         (symtab_collector): Add constructor, destructor.
2114         (collect_symtabs_from_filename): Remove cleanup.
2115         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
2116         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
2117         Use htab_up.
2118         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
2119         * dwarf2read.c (dw2_expand_symtabs_matching)
2120         (dw2_map_symbol_filenames, dwarf_decode_macros)
2121         (write_psymtabs_to_index): Use htab_up.
2122         * dwarf2loc.c (func_verify_no_selftailcall)
2123         (call_site_find_chain_1, func_verify_no_selftailcall)
2124         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
2125         std::vector, gdb::unique_xmalloc_ptr.
2126         (call_sitep): Remove typedef.
2127         (dwarf2_locexpr_baton_eval): Remove unused variable.
2128
2129 2017-01-10  Tom Tromey  <tom@tromey.com>
2130
2131         * python/python-internal.h (make_cleanup_py_decref)
2132         (make_cleanup_py_xdecref): Don't declare.
2133         * python/py-utils.c (py_decref, make_cleanup_py_decref)
2134         (py_xdecref, make_cleanup_py_xdecref): Remove.
2135
2136 2017-01-10  Tom Tromey  <tom@tromey.com>
2137
2138         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
2139         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
2140
2141 2017-01-10  Tom Tromey  <tom@tromey.com>
2142
2143         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
2144
2145 2017-01-10  Tom Tromey  <tom@tromey.com>
2146
2147         * python/py-utils.c (unicode_to_encoded_string)
2148         (python_string_to_target_string)
2149         (python_string_to_target_python_string)
2150         (python_string_to_host_string, gdbpy_obj_to_string)
2151         (get_addr_from_python): Use gdbpy_ref.
2152
2153 2017-01-10  Tom Tromey  <tom@tromey.com>
2154
2155         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
2156         gdbpy_ref.
2157
2158 2017-01-10  Tom Tromey  <tom@tromey.com>
2159
2160         * python/python.c (eval_python_command, gdbpy_decode_line)
2161         (gdbpy_run_events, gdbpy_start_type_printers)
2162         (gdbpy_apply_type_printers): Use gdbpy_ref.
2163
2164 2017-01-10  Tom Tromey  <tom@tromey.com>
2165
2166         * python/py-param.c (get_doc_string, compute_enum_values): Use
2167         gdbpy_ref.
2168
2169 2017-01-10  Tom Tromey  <tom@tromey.com>
2170
2171         * python/py-inferior.c (find_thread_object, build_inferior_list):
2172         Use gdbpy_ref.
2173
2174 2017-01-10  Tom Tromey  <tom@tromey.com>
2175
2176         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
2177
2178 2017-01-10  Tom Tromey  <tom@tromey.com>
2179
2180         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
2181         gdbpy_ref.
2182
2183 2017-01-10  Tom Tromey  <tom@tromey.com>
2184
2185         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
2186         extra incref.
2187         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
2188         Use gdbpy_ref.
2189
2190 2017-01-10  Tom Tromey  <tom@tromey.com>
2191
2192         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
2193         gdbpy_ref.
2194
2195 2017-01-10  Tom Tromey  <tom@tromey.com>
2196
2197         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
2198         decref results of PyArg_ParseTupleAndKeywords.
2199
2200 2017-01-10  Tom Tromey  <tom@tromey.com>
2201
2202         * python/python.c (python_run_simple_file): Use
2203         unique_xmalloc_ptr, gdbpy_ref.
2204
2205 2017-01-10  Tom Tromey  <tom@tromey.com>
2206
2207         * python/py-prettyprint.c (print_stack_unless_memory_error)
2208         (print_string_repr, print_children): Use gdbpy_ref.
2209         (dummy_python_frame): New class.
2210         (dummy_python_frame::dummy_python_frame): Rename from
2211         push_dummy_python_frame.
2212         (py_restore_tstate): Remove.
2213
2214 2017-01-10  Tom Tromey  <tom@tromey.com>
2215
2216         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
2217
2218 2017-01-10  Tom Tromey  <tom@tromey.com>
2219
2220         * python/python.c (ensure_python_env, restore_python_env):
2221         Remove.
2222         * python/python-internal.h (ensure_python_env): Don't declare.
2223         * varobj.h (varobj_ensure_python_env): Don't declare.
2224         * varobj.c (varobj_ensure_python_env): Remove.
2225
2226 2017-01-10  Tom Tromey  <tom@tromey.com>
2227
2228         * varobj.c (varobj_value_get_print_value): Use
2229         gdbpy_enter_varobj.
2230
2231 2017-01-10  Tom Tromey  <tom@tromey.com>
2232
2233         * python/py-prettyprint.c (print_string_repr, print_children):
2234         Update.
2235         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
2236         of "encoding".
2237         * varobj.c (varobj_value_get_print_value): Update.
2238         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
2239
2240 2017-01-10  Tom Tromey  <tom@tromey.com>
2241
2242         * varobj.c (varobj_get_display_hint)
2243         (dynamic_varobj_has_child_method, install_new_value_visualizer)
2244         (varobj_set_visualizer, free_variable): Use
2245         gdbpy_enter_varobj.
2246
2247 2017-01-10  Tom Tromey  <tom@tromey.com>
2248
2249         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
2250         (do_finish_initialization): New function.  Use gdbpy_ref.
2251         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
2252         do_finish_initialization.
2253
2254 2017-01-10  Tom Tromey  <tom@tromey.com>
2255
2256         * python/py-param.c (get_set_value, get_show_value): Use
2257         gdbpy_enter, gdbpy_ref.
2258
2259 2017-01-10  Tom Tromey  <tom@tromey.com>
2260
2261         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
2262
2263 2017-01-10  Tom Tromey  <tom@tromey.com>
2264
2265         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
2266
2267 2017-01-10  Tom Tromey  <tom@tromey.com>
2268
2269         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
2270         Use gdbpy_enter_varobj.
2271
2272 2017-01-10  Tom Tromey  <tom@tromey.com>
2273
2274         * varobj.c (gdbpy_enter_varobj): New constructor.
2275         * python/python-internal.h (gdbpy_enter_varobj): New class.
2276         * python/py-varobj.c (py_varobj_get_iterator): Use
2277         gdbpy_enter_varobj.
2278
2279 2017-01-10  Tom Tromey  <tom@tromey.com>
2280
2281         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
2282         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
2283         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
2284         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
2285         unique_xmalloc_ptr.
2286         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
2287
2288 2017-01-10  Tom Tromey  <tom@tromey.com>
2289
2290         * python/py-xmethods.c (invoke_match_method): Use
2291         gdbpy_ref.
2292
2293 2017-01-10  Tom Tromey  <tom@tromey.com>
2294
2295         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
2296         gdbpy_enter, gdbpy_ref.
2297
2298 2017-01-10  Tom Tromey  <tom@tromey.com>
2299
2300         * python/python.c (python_interactive_command): Use gdbpy_enter.
2301
2302 2017-01-10  Tom Tromey  <tom@tromey.com>
2303
2304         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
2305         gdbpy_ref.
2306
2307 2017-01-10  Tom Tromey  <tom@tromey.com>
2308
2309         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
2310         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
2311
2312 2017-01-10  Tom Tromey  <tom@tromey.com>
2313
2314         * utils.h (htab_deleter): New struct.
2315         (htab_up): New typedef.
2316         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
2317         gdbpy_enter, gdbpy_ref, htab_up.
2318
2319 2017-01-10  Tom Tromey  <tom@tromey.com>
2320
2321         * python/py-unwind.c (pending_frame_invalidate): Remove.
2322         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
2323
2324 2017-01-10  Tom Tromey  <tom@tromey.com>
2325
2326         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
2327         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
2328
2329 2017-01-10  Tom Tromey  <tom@tromey.com>
2330
2331         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
2332
2333 2017-01-10  Tom Tromey  <tom@tromey.com>
2334
2335         * python/python.c (gdbpy_eval_from_control_command)
2336         (gdbpy_source_script, gdbpy_run_events)
2337         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
2338         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
2339         gdbpy_enter.
2340
2341 2017-01-10  Tom Tromey  <tom@tromey.com>
2342
2343         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
2344
2345 2017-01-10  Tom Tromey  <tom@tromey.com>
2346
2347         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
2348
2349 2017-01-10  Tom Tromey  <tom@tromey.com>
2350
2351         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
2352         (python_on_inferior_call_pre, python_on_inferior_call_post)
2353         (python_on_memory_change, python_on_register_change)
2354         (python_inferior_exit, python_new_objfile, add_thread_object)
2355         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
2356
2357 2017-01-10  Tom Tromey  <tom@tromey.com>
2358
2359         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
2360         (bpfinishpy_handle_exit): Use gdbpy_enter.
2361
2362 2017-01-10  Tom Tromey  <tom@tromey.com>
2363
2364         * python/py-cmd.c (cmdpy_destroyer)
2365         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
2366         gdbpy_enter.
2367
2368 2017-01-10  Tom Tromey  <tom@tromey.com>
2369
2370         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
2371         gdbpy_enter.
2372         (gdbpy_breakpoint_has_cond): Likewise.
2373
2374 2017-01-10  Tom Tromey  <tom@tromey.com>
2375
2376         * python/python.c (gdbpy_enter): New constructor.
2377         (~gdbpy_enter): New destructor.
2378         (restore_python_env, ensure_python_env): Rewrite.
2379         * python/python-internal.h (gdbpy_enter): New class.
2380
2381 2017-01-10  Tom Tromey  <tom@tromey.com>
2382
2383         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
2384
2385 2017-01-10  Tom Tromey  <tom@tromey.com>
2386
2387         * python/py-value.c (value_has_field, get_field_flag)
2388         (get_field_type, valpy_getitem, convert_value_from_python): Use
2389         gdbpy_ref.
2390
2391 2017-01-10  Tom Tromey  <tom@tromey.com>
2392
2393         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
2394         gdbpy_ref.
2395
2396 2017-01-10  Tom Tromey  <tom@tromey.com>
2397
2398         * python/py-prettyprint.c (search_pp_list)
2399         (find_pretty_printer_from_objfiles)
2400         (find_pretty_printer_from_progspace)
2401         (find_pretty_printer_from_gdb, find_pretty_printer)
2402         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
2403         gdbpy_ref.
2404
2405 2017-01-10  Tom Tromey  <tom@tromey.com>
2406
2407         * python/py-param.c (call_doc_function): Use gdbpy_ref.
2408
2409 2017-01-10  Tom Tromey  <tom@tromey.com>
2410
2411         * python/py-linetable.c (build_line_table_tuple_from_pcs)
2412         (ltpy_get_all_source_lines): Use gdbpy_ref.
2413
2414 2017-01-10  Tom Tromey  <tom@tromey.com>
2415
2416         * python/py-framefilter.c (extract_sym, extract_value)
2417         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
2418         gdbpy_ref.
2419
2420 2017-01-10  Tom Tromey  <tom@tromey.com>
2421
2422         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
2423
2424 2017-01-10  Tom Tromey  <tom@tromey.com>
2425
2426         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
2427
2428 2017-01-10  Tom Tromey  <tom@tromey.com>
2429
2430         * python/py-function.c (convert_values_to_python, fnpy_init): Use
2431         gdbpy_ref.
2432
2433 2017-01-10  Tom Tromey  <tom@tromey.com>
2434
2435         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
2436
2437 2017-01-10  Tom Tromey  <tom@tromey.com>
2438
2439         * python/py-type.c (convert_field, make_fielditem, typy_fields)
2440         (typy_range): Use gdbpy_ref.
2441
2442 2017-01-10  Tom Tromey  <tom@tromey.com>
2443
2444         * python/py-threadevent.c (create_thread_event_object): Use
2445         gdbpy_ref.
2446         * python/py-stopevent.c (create_stop_event_object): Simplify.
2447         (emit_stop_event): Use gdbpy_ref.
2448         * python/py-signalevent.c (create_signal_event_object): Use
2449         gdbpy_ref.
2450         * python/py-newobjfileevent.c (create_new_objfile_event_object)
2451         (emit_new_objfile_event, create_clear_objfiles_event_object)
2452         (emit_clear_objfiles_event): Use gdbpy_ref.
2453         * python/py-infevents.c (create_inferior_call_event_object)
2454         (create_register_changed_event_object)
2455         (create_memory_changed_event_object, emit_inferior_call_event)
2456         (emit_memory_changed_event, emit_register_changed_event): Use
2457         gdbpy_ref.
2458         * python/py-exitedevent.c (create_exited_event_object)
2459         (emit_exited_event): Use gdbpy_ref.
2460         * python/py-event.h (evpy_emit_event): Remove
2461         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
2462         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
2463         * python/py-continueevent.c (emit_continue_event): Use
2464         gdbpy_ref.
2465         * python/py-breakpoint.c (gdbpy_breakpoint_created)
2466         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
2467         gdbpy_ref.
2468         * python/py-bpevent.c (create_breakpoint_event_object): Use
2469         gdbpy_ref.
2470
2471 2017-01-10  Tom Tromey  <tom@tromey.com>
2472
2473         * python/py-ref.h: New file.
2474
2475 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
2476
2477         * cli-out.c (cli_ui_out::do_redirect): Change return type to
2478         void.
2479         * cli-out.h (cli_ui_out::do_redirect): Likewise.
2480         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
2481         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
2482         * ui-out.c (ui_out::redirect): Likewise.
2483         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
2484         * cli/cli-logging.c (set_logging_redirect): Update call site of
2485         ui_out::redirect.
2486         (handle_redirections): Likewise.
2487         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
2488         * top.c (execute_command_to_string): Likewise.
2489         * utils.c (do_ui_out_redirect_pop): Likewise.
2490
2491 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
2492
2493         * stack.c (_initialize_stack): Update "frame" command help message.
2494
2495 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
2496
2497         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
2498
2499 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2500
2501         * x86-linux-nat.h: Include gdb_proc_service.h.
2502
2503 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2504
2505         * ser-base.h: Include serial.h.
2506
2507 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2508
2509         * ppc-linux-tdep.h: Include ppc-tdep.h.
2510
2511 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2512
2513         * nat/amd64-linux-siginfo.h: Include signal.h.
2514
2515 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2516
2517         * nat/aarch64-linux-hw-point.h: Include break-common.h.
2518
2519 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2520
2521         * mi/mi-parse.h: Include mi-cmds.h.
2522
2523 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2524
2525         * inf-loop.c: Don't include "target.h".
2526         * inf-loop.h: Include it here.
2527
2528 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2529
2530         * dfp.h: Include "dboulest.h" and "expression.h".
2531
2532 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2533
2534         * ax-gdb.h: Include "ax.h".
2535
2536 2017-01-06  Yao Qi  <yao.qi@linaro.org>
2537
2538         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
2539         with nat/gdb_ptrace.h.
2540
2541 2017-01-05  Yao Qi  <yao.qi@linaro.org>
2542
2543         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
2544         new line.
2545         (mips64_fbsd_sigframe_init): Likewise.
2546
2547 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
2548
2549         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
2550         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
2551
2552 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
2553
2554         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
2555         * NEWS: Mention new FreeBSD/mips native configuration.
2556         * config/mips/fbsd.mh: New file.
2557         * configure.host: Add mips*-*-freebsd*.
2558         * mips-fbsd-nat.c: New file.
2559
2560 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
2561
2562         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
2563         (ALLDEPFILES): Add mips-fbsd-tdep.c.
2564         * NEWS: Mention new FreeBSD/mips target.
2565         * configure.tgt: Add mips*-*-freebsd*.
2566         * mips-fbsd-tdep.c: New file.
2567         * mips-fbsd-tdep.h: New file.
2568
2569 2017-01-04  Yao Qi  <yao.qi@linaro.org>
2570
2571         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
2572         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
2573
2574 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
2575
2576         Update copyright year range in all GDB files.
2577
2578 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
2579
2580         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
2581
2582 For older changes see ChangeLog-2016.
2583 \f
2584 Local Variables:
2585 mode: change-log
2586 left-margin: 8
2587 fill-column: 74
2588 version-control: never
2589 coding: utf-8
2590 End: