Rework signal frame probing for FreeBSD/x86
[external/binutils.git] / gdb / ChangeLog
1 2015-02-25  John Baldwin  <jhb@FreeBSD.org>
2
3         * amd64fbsd-nat.c: Include sys/user.h.
4         (_initialize_amd64fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
5         instead of KERN_PS_STRINGS to locate the signal trampoline.
6         * i386fbsd-nat.c: Include sys/user.h.
7         (_initialize_i386fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
8         instead of KERN_PS_STRINGS to locate the signal trampoline.
9         * amd64fbsd-tdep.c (amd64fbsd_sigtramp_code): New.
10         (amd64fbsd_sigtramp_p): New.
11         (amd64fbsd_sigtramp_start_addr, amd64fbsd_sigtramp_end_addr): No
12         longer set default values.
13         (amd64fbsd_init_abi): Set "sigtramp_p" to "amd64fbsd_sigtramp_p".
14         * i386fbsd-tdep.c (i386fbsd_sigtramp_start)
15         (i386fbsd_sigtramp_middle, i386fbsd_sigtramp_end)
16         (i386fbsd_freebsd4_sigtramp_start)
17         (i386fbsd_freebsd4_sigtramp_middle)
18         (i386fbsd_freebsd4_sigtramp_end, i386fbsd_osigtramp_start)
19         (i386fbsd_osigtramp_middle, i386fbsd_osigtramp_end): New.
20         (i386fbsd_sigtramp_p): New.
21         (i386fbsd_sigtramp_start_addr, i386fbsd_sigtramp_end_addr): No
22         longer set default values.
23         (i386fbsd_init_abi): Set "sigtramp_p" to "i386fbsd_sigtramp_p".
24
25 2015-02-25  John Baldwin  <jhb@freebsd.org>
26
27         * amd64fbsd-tdep.c (amd64fbsd_sigcontext_addr): Use
28         get_frame_register instead of frame_unwind_register_unsigned.
29
30 2015-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
31
32         PR build/18033
33         * compile/compile-c-support.c (c_compute_program): Change // comment.
34         * compile/compile-object-load.c (setup_sections): Change // comment.
35
36 2015-02-26  Joel Brobecker  <brobecker@adacore.com>
37
38         PR build/18033:
39         * iq2000-tdep.c (iq2000_frame_cache): Delete C++-style comment.
40
41 2015-02-23  Pedro Alves  <palves@redhat.com>
42
43         * remote.c (skip_to_semicolon): New function.
44         (remote_parse_stop_reply) <T stop reply>: Use it.  Don't
45         special case the stop reasons that look like hex numbers
46         upfront.  Instead handle real register numbers after matching
47         all the known stop reasons.
48
49 2015-02-21  Doug Evans  <dje@google.com>
50
51         PR c++/17976, symtab/17821
52         * cp-namespace.c (cp_search_static_and_baseclasses): New parameter
53         is_in_anonymous.  All callers updated.
54         (find_symbol_in_baseclass): Ditto.
55         (cp_lookup_nested_symbol_1): Ditto.  Don't search all static blocks
56         for symbols in an anonymous namespace.
57         * dwarf2read.c (namespace_name): Don't call dwarf2_name, fetch
58         DW_AT_name directly.
59         (dwarf2_name): Convert missing namespace name to
60         CP_ANONYMOUS_NAMESPACE_STR.
61
62 2015-02-20  Pedro Alves  <palves@redhat.com>
63
64         * linux-nat.c (linux_handle_extended_wait): Call
65         thread_db_notice_clone whenever a new clone LWP is detected.
66         (linux_stop_and_wait_all_lwps, linux_unstop_all_lwps): New
67         functions.
68         * linux-nat.h (thread_db_attach_lwp): Delete declaration.
69         (thread_db_notice_clone, linux_stop_and_wait_all_lwps)
70         (linux_unstop_all_lwps): Declare.
71         * linux-thread-db.c (struct thread_get_info_inout): Delete.
72         (thread_get_info_callback): Delete.
73         (thread_from_lwp): Use td_thr_get_info and record_thread.
74         (thread_db_attach_lwp): Delete.
75         (thread_db_notice_clone): New function.
76         (try_thread_db_load_1): If /proc is mounted and shows the
77         process'es task list, walk over all LWPs and call thread_from_lwp
78         instead of relying on td_ta_thr_iter.
79         (attach_thread): Don't call check_thread_signals here.  Split the
80         tail part of the function (which adds the thread to the core GDB
81         thread list) to ...
82         (record_thread): ... this function.  Call check_thread_signals
83         here.
84         (thread_db_wait): Don't call thread_db_find_new_threads_1.  Always
85         call thread_from_lwp.
86         (thread_db_update_thread_list): Rename to ...
87         (thread_db_update_thread_list_org): ... this.
88         (thread_db_update_thread_list): New function.
89         (thread_db_find_thread_from_tid): Delete.
90         (thread_db_get_ada_task_ptid): Simplify.
91         * nat/linux-procfs.c: Include <sys/stat.h>.
92         (linux_proc_task_list_dir_exists): New function.
93         * nat/linux-procfs.h (linux_proc_task_list_dir_exists): Declare.
94
95 2015-02-20  Pedro Alves  <palves@redhat.com>
96
97         * linux-nat.c (lin_lwp_attach_lwp): No longer special case the
98         main LWP.  Handle the case of waitpid returning 0 if we're already
99         attached to the LWP.  Don't set the LWP's last_resume_kind to
100         resume_stop if we already knew about the LWP.
101         (linux_nat_filter_event): Add debug logs.
102
103 2015-02-20  Pedro Alves  <palves@redhat.com>
104
105         * target.h (forward_target_decr_pc_after_break): Delete
106         declaration.
107
108 2015-02-20  Pedro Alves  <palves@redhat.com>
109
110         PR threads/18006
111         * linux-thread-db.c (thread_get_info_callback): Return early if
112         the thread's lwp id is -1.
113
114 2015-02-20  Joel Brobecker  <brobecker@adacore.com>
115
116         GDB 7.9 released.
117
118 2015-02-19  Steve Ellcey  <sellcey@imgtec.com>
119
120         * dtrace-probe.c (dtrace_process_dof_probe): Initialize arg.expr.
121         (dtrace_get_probes) Change type of variable 'dof'.
122
123 2015-02-19  Antoine Tremblay  <antoine.tremblay@ericsson.com>
124
125         PR breakpoints/16812
126         * linux-nat.c (linux_nat_filter_event): Report SIGTRAP,SIGILL,SIGSEGV.
127         * nat/linux-ptrace.c (linux_wstatus_maybe_breakpoint): Add.
128         * nat/linux-ptrace.h: Add linux_wstatus_maybe_breakpoint.
129
130 2015-02-19  David Taylor  <dtaylor@emc.com>
131
132         * common/ax.def (setv): Fix consumed entry in setv DEFOP.
133
134 2015-02-18  Patrick Palka  <patrick@parcs.ath.cx>
135
136         * tui/tui-io.c (tui_handle_resize_during_io): Remove this
137         function.
138         (tui_putc): Don't call tui_handle_resize_during_io.
139         (tui_getc): Likewise.
140         (tui_mld_getc): Likewise.
141         * tui/tui-win.c: Include event-loop.h and tui/tui-io.h.
142         (tui_sigwinch_token): New static variable.
143         (tui_initialize_win): Adjust documentation.  Set
144         tui_sigwinch_token.
145         (tui_async_resize_screen): New asynchronous callback.
146         (tui_sigwinch_handler): Adjust documentation.  Asynchronously
147         invoke tui_async_resize_screen.
148
149 2015-02-18  Jose E. Marchesi  <jose.marchesi@oracle.com>
150
151         * configure: Regenerated.
152         * configure.ac: Use GDB_AC_TRANSFORM.
153         * Makefile.in (aclocal_m4_deps): Added transform.m4.
154         * acinclude.m4: sinclude transform.m4.
155         * transform.m4: New file.
156         (GDB_AC_TRANSFORM): New macro.
157
158 2015-02-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
159
160         * NEWS: Announce the support for DTrace SDT probes.
161
162 2015-02-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
163
164         * amd64-linux-tdep.c: Include "parser-defs.h" and "user-regs.h".
165         (amd64_dtrace_parse_probe_argument): New function.
166         (amd64_dtrace_probe_is_enabled): Likewise.
167         (amd64_dtrace_enable_probe): Likewise.
168         (amd64_dtrace_disable_probe): Likewise.
169         (amd64_linux_init_abi): Register the
170         `gdbarch_dtrace_probe_argument', `gdbarch_dtrace_enable_probe',
171         `gdbarch_dtrace_disable_probe' and
172         `gdbarch_dtrace_probe_is_enabled' hooks.
173         (amd64_dtrace_disabled_probe_sequence_1): New constant.
174         (amd64_dtrace_disabled_probe_sequence_2): Likewise.
175         (amd64_dtrace_enable_probe_sequence): Likewise.
176         (amd64_dtrace_disable_probe_sequence): Likewise.
177
178 2015-01-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
179
180         * breakpoint.c (BREAK_ARGS_HELP): Help string updated to mention
181         the -probe-dtrace new vpossible value for PROBE_MODIFIER.
182         * configure.ac (CONFIG_OBS): dtrace-probe.o added if BFD can
183         handle ELF files.
184         * Makefile.in (SFILES): dtrace-probe.c added.
185         * configure: Regenerate.
186         * dtrace-probe.c: New file.
187         (SHT_SUNW_dof): New constant.
188         (dtrace_probe_type): New enum.
189         (dtrace_probe_arg): New struct.
190         (dtrace_probe_arg_s): New typedef.
191         (struct dtrace_probe_enabler): New struct.
192         (dtrace_probe_enabler_s): New typedef.
193         (dtrace_probe): New struct.
194         (dtrace_probe_is_linespec): New function.
195         (dtrace_dof_sect_type): New enum.
196         (dtrace_dof_dofh_ident): Likewise.
197         (dtrace_dof_encoding): Likewise.
198         (DTRACE_DOF_ENCODE_LSB): Likewise.
199         (DTRACE_DOF_ENCODE_MSB): Likewise.
200         (dtrace_dof_hdr): New struct.
201         (dtrace_dof_sect): Likewise.
202         (dtrace_dof_provider): Likewise.
203         (dtrace_dof_probe): Likewise.
204         (DOF_UINT): New macro.
205         (DTRACE_DOF_PTR): Likewise.
206         (DTRACE_DOF_SECT): Likewise.
207         (dtrace_process_dof_probe): New function.
208         (dtrace_process_dof): Likewise.
209         (dtrace_build_arg_exprs): Likewise.
210         (dtrace_get_arg): Likewise.
211         (dtrace_get_probes): Likewise.
212         (dtrace_get_probe_argument_count): Likewise.
213         (dtrace_can_evaluate_probe_arguments): Likewise.
214         (dtrace_evaluate_probe_argument): Likewise.
215         (dtrace_compile_to_ax): Likewise.
216         (dtrace_probe_destroy): Likewise.
217         (dtrace_gen_info_probes_table_header): Likewise.
218         (dtrace_gen_info_probes_table_values): Likewise.
219         (dtrace_probe_is_enabled): Likewise.
220         (dtrace_probe_ops): New variable.
221         (info_probes_dtrace_command): New function.
222         (_initialize_dtrace_probe): Likewise.
223         (dtrace_type_name): Likewise.
224
225 2015-02-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
226
227         * gdbarch.sh (dtrace_parse_probe_argument): New.
228         (dtrace_probe_is_enabled): Likewise.
229         (dtrace_enable_probe): Likewise.
230         (dtrace_disable_probe): Likewise.
231         * gdbarch.c: Regenerate.
232         * gdbarch.h: Regenerate.
233
234 2015-02-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
235
236         * stap-probe.c (stap_probe_ops): Add NULLs in the static
237         stap_probe_ops for `enable_probe' and `disable_probe'.
238         * probe.c (enable_probes_command): New function.
239         (disable_probes_command): Likewise.
240         (_initialize_probe): Define the cli commands `enable probe' and
241         `disable probe'.
242         (parse_probe_linespec): New function.
243         (info_probes_for_ops): Use parse_probe_linespec.
244         * probe.h (probe_ops): New hooks `enable_probe' and
245         `disable_probe'.
246
247 2015-02-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
248
249         * probe.c (compute_probe_arg): Moved from stap-probe.c
250         (compile_probe_arg): Likewise.
251         (probe_funcs): Likewise.
252         * stap-probe.c (compute_probe_arg): Moved to probe.c.
253         (compile_probe_arg): Likewise.
254         (probe_funcs): Likewise.
255
256 2015-02-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
257
258         * probe.c (print_ui_out_not_applicables): New function.
259         (exists_probe_with_pops): Likewise.
260         (info_probes_for_ops): Do not include column headers for probe
261         types for which no probe has been actually found on any object.
262         Also invoke `print_ui_out_not_applicables' in order to match the
263         column rows with the header when probes of several types are
264         listed.
265         Print the "Type" column.
266         * probe.h (probe_ops): Added a new probe operation `type_name'.
267         * stap-probe.c (stap_probe_ops): Add `stap_type_name'.
268         (stap_type_name): New function.
269
270 2015-02-17  Patrick Palka  <patrick@parcs.ath.cx>
271
272         * tui/tui-io.c (tui_getc): Don't call key_is_command_char.
273         (key_is_command_char): Delete.
274
275 2015-02-17  Pedro Alves  <palves@redhat.com>
276
277         * tui/tui.c (tui_enable): Resize windows before anything
278         might show a window.
279
280 2015-02-17  Max Ostapenko  <m.ostapenko@partner.samsung.com>
281
282         PR gdb/17984
283         * aarch64-linux-nat.c: Don't include features/aarch64.c anymore.
284         (aarch64_linux_read_description): Remove initialize_tdesc_aarch64
285         call.
286         * aarch64-tdep.h (tdesc_aarch64): Declare.
287
288 2015-02-12  Mark Wielaard  <mjw@redhat.com>
289
290         * contrib/ari/gdb_ari.sh: Remove checks for "true" and "false".
291
292 2015-02-13  Doug Evans  <dje@google.com>
293
294         * cp-namespace.c (cp_basic_lookup_symbol): Rename parameter
295         anonymous_namespace to is_in_anonymous for consistency with the rest
296         of the file.
297         (cp_lookup_bare_symbol): Fix typo in comment.
298         (cp_search_static_and_baseclasses): Ditto.
299         (search_symbol_list): Use vertical space in comment better.
300         (reset_directive_searched): Ditto. Fix typo.
301         (cp_lookup_nested_symbol_1): Clarify contents of NESTED_NAME parameter.
302
303 2015-02-13  Yao Qi  <yao.qi@arm.com>
304
305         * MAINTAINERS: Update my email address.
306
307 2015-02-12  Doug Evans  <dje@google.com>
308
309         * symtab.c (completion_list_add_name): Fix memory leak.
310
311 2015-02-12  Doug Evans  <dje@google.com>
312
313         * completer.c (complete_line): Remove incorrect comment.
314
315 2015-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
316
317         * python/py-framefilter.c (py_print_single_arg, enumerate_locals)
318         (py_print_frame): Use RETURN_MASK_ERROR.
319
320 2015-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
321
322         * python/py-framefilter.c (py_print_frame): Mention RETURN_QUIT in
323         function comment.  Wrap all function that can throw in cleanups.
324         (gdbpy_apply_frame_filter): Wrap all function that can throw in
325         cleanups.
326
327 2015-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
328
329         * python/py-framefilter.c (py_print_frame): Substitute goto error.
330         Remove the error label.
331
332 2015-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
333
334         * python/py-framefilter.c (py_print_frame): Put conditional code paths
335         with goto first, indent the former else codepath left.  Put variable
336         'elided' to a new inner block.
337
338 2015-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
339
340         * python/py-framefilter.c (py_print_frame): Whitespacing fixes.
341
342 2015-02-11  Pedro Alves  <palves@redhat.com>
343
344         * xcoffread.c (within_function): Delete.
345
346 2015-02-11  Tom Tromey  <tromey@redhat.com>
347             Pedro Alves <palves@redhat.com>
348
349         * breakpoint.c (base_breakpoint_ops): Delete.
350         * dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern.
351         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern.
352         * guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern.
353         * ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern.
354         * python/py-arch.c (arch_object_type): Make extern.
355         * python/py-block.c (block_syms_iterator_object_type): Make extern.
356         * python/py-bpevent.c (breakpoint_event_object_type): Make extern.
357         * python/py-cmd.c (cmdpy_object_type): Make extern.
358         * python/py-continueevent.c (continue_event_object_type)
359         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual'
360         parameter.  Update all callers.
361         * python/py-evtregistry.c (eventregistry_object_type): Make extern.
362         * python/py-exitedevent.c (exited_event_object_type): Make extern.
363         * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern.
364         * python/py-function.c (fnpy_object_type): Make extern.
365         * python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern.
366         * python/py-infevents.c (call_pre_event_object_type)
367         (inferior_call_post_event_object_type).
368         (memory_changed_event_object_type): Make extern.
369         * python/py-infthread.c (thread_object_type): Make extern.
370         * python/py-lazy-string.c (lazy_string_object_type): Make extern.
371         * python/py-linetable.c (linetable_entry_object_type)
372         (linetable_object_type, ltpy_iterator_object_type): Make extern.
373         * python/py-newobjfileevent.c (new_objfile_event_object_type)
374         (clear_objfiles_event_object_type): Make extern.
375         * python/py-objfile.c (objfile_object_type): Make extern.
376         * python/py-param.c (parmpy_object_type): Make extern.
377         * python/py-progspace.c (pspace_object_type): Make extern.
378         * python/py-signalevent.c (signal_event_object_type): Make extern.
379         * python/py-symtab.c (symtab_object_type, sal_object_type): Make extern.
380         * python/py-type.c (type_object_type, field_object_type)
381         (type_iterator_object_type): Make extern.
382         * python/python.c (python_extension_script_ops)
383         (python_extension_ops): Make extern.
384         * stap-probe.c (stap_probe_ops): Make extern.
385
386 2015-02-11  Pedro Alves  <pedro@codesourcery.com>
387
388         * infrun.c (adjust_pc_after_break): Don't adjust the PC just
389         because the event thread is not the current thread.
390
391 2015-02-11  Doug Evans  <xdje42@gmail.com>
392
393         * gdbtypes.c (internal_type_self_type): If TYPE_SPECIFIC_FIELD hasn't
394         been initialized yet, return NULL.
395
396 2015-02-11  Doug Evans  <dje@google.com>
397
398         * symfile.h (new_symfile_objfile): Delete.
399         * symfile.c (finish_new_objfile): Renamed from new_symfile_objfile.
400         All callers updated.
401
402 2015-02-11  Patrick Palka  <patrick@parcs.ath.cx>
403
404         * tui/tui-io.c (tui_handle_resize_during_io): Call
405         tui_update_gdb_sizes() after resizing the screen.
406         * tui/tui.c (tui_enable): Resize the terminal before
407         calling tui_update_gdb_sizes().
408
409 2015-02-11  Patrick Palka  <patrick@parcs.ath.cx>
410
411         * tui/tui-io.c (tui_getc): Move cursor to the end of the command
412         line before printing a newline.
413
414 2015-02-11  Mark Wielaard  <mjw@redhat.com>
415
416         * utils.c (producer_is_gcc): Return true or false.
417
418 2015-02-10  Mark Wielaard  <mjw@redhat.com>
419
420         * utils.h (producer_is_gcc): Change return type to bool. Add major
421         argument.
422         * utils.c (producer_is_gcc): Likewise.
423         (producer_is_gcc_ge_4): Adjust producer_is_gcc call.
424         * dwarf2read.c (check_producer): Likewise.
425
426 2015-02-10  Pedro Alves  <palves@redhat.com>
427
428         * infrun.c (displaced_step_fixup): Switch to the event thread
429         before calling gdbarch_displaced_step_fixup.
430
431 2015-02-10  Antoine Tremblay <antoine.tremblay@ericsson.com>
432
433         * MAINTAINERS (Write After Approval): Add Antoine Tremblay.
434
435 2015-02-10  Simon Marchi  <simon.marchi@ericsson.com>
436
437         * ada-varobj.c (ada_name_of_child): Constify parent.
438         (ada_path_expr_of_child): Same.
439         (ada_value_of_child): Same.
440         (ada_type_of_child): Same.
441         * c-varobj.c (c_is_path_expr_parent): Same.
442         (c_describe_child): Same.
443         (c_name_of_child): Same.
444         (c_value_of_child): Same.
445         (c_type_of_child): Same.
446         (cplus_number_of_children): Same.
447         (cplus_describe_child): Constify var.
448         (cplus_name_of_child): Constify parent.
449         (cplus_value_of_child): Same.
450         (cplus_type_of_child): Same.
451         * jv-varobj.c (java_name_of_child): Same.
452         (java_value_of_child): Same.
453         (java_type_of_child): Same.
454         * varobj.c (value_of_child): Same.
455         (varobj_default_is_path_expr_parent): Constify var, parent and return
456         value.
457         (varobj_get_path_expr): Constify var, modify path_expr through
458         mutable_var.
459         (install_new_value): Constify parent.
460         (value_of_child): Constify parent.
461         * varobj.h (struct varobj): Constify parent.
462         (struct lang_varobj_ops): Constify name_of_child, value_of_child and
463         type_of_child.
464         (varobj_get_path_expr): Constify var.
465         (varobj_get_path_expr_parent): Constify var and return value.
466
467 2015-02-10  Luis Machado  <lgustavo@codesourcery.com>
468
469         * arm-tdep.c (arm_prologue_unwind_stop_reason): New function.
470         (arm_prologue_this_id): Move PC and SP limit checks to
471         arm_prologue_unwind_stop_reason.
472         (arm_prologue_unwind) <stop_reason> : Set to
473         arm_prologue_unwind_stop_reason.
474
475 2015-02-09  Mark Wielaard  <mjw@redhat.com>
476
477         * dwarf2read.c (set_cu_language): Recognize DW_LANG_Fortran03 and
478         DW_LANG_Fortran08 as language_fortran.
479
480 2015-02-09  Sergio Durigan Junior  <sergiodj@redhat.com>
481
482         PR remote/17946
483         * gdb/remote.c (remote_parse_stop_reply): Fix wrong comparison
484         of pointer against char.
485
486 2015-02-09  Mark Wielaard  <mjw@redhat.com>
487
488         * c-typeprint.c (cp_type_print_method_args): Handle '_Atomic'.
489         (c_type_print_modifier): Likewise.
490         * dwarf2read.c (read_tag_atomic_type): New function.
491         (read_type_die_1): Handle DW_TAG_atomic_type.
492         * gdbtypes.c (make_atomic_type): New function.
493         (recursive_dump_type): Handle TYPE_ATOMIC.
494         * gdbtypes.h (enum type_flag_values): Renumber.
495         (enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_ATOMIC.
496         (TYPE_ATOMIC): New macro.
497         (make_atomic_type): Declare.
498
499 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
500
501         * btrace.c (ftrace_find_call): Skip gaps.
502         (ftrace_new_function): Initialize level.
503         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return)
504         (ftrace_new_switch): Update
505         level computation.
506         (ftrace_new_gap): New.
507         (ftrace_update_function): Create new function after gap.
508         (btrace_compute_ftrace_bts): Create gap on error.
509         (btrace_stitch_bts): Update parameters.  Clear trace if it
510         becomes empty.
511         (btrace_stitch_trace): Update parameters.  Update callers.
512         (btrace_clear): Reset the number of gaps.
513         (btrace_insn_get): Return NULL if the iterator points to a gap.
514         (btrace_insn_number): Return zero if the iterator points to a gap.
515         (btrace_insn_end): Allow gaps at the end.
516         (btrace_insn_next, btrace_insn_prev, btrace_insn_cmp): Handle gaps.
517         (btrace_find_insn_by_number): Assert that the found iterator does
518         not point to a gap.
519         (btrace_call_next, btrace_call_prev): Assert that the last function
520         is not a gap.
521         * btrace.h (btrace_bts_error): New.
522         (btrace_function): Update comment.
523         (btrace_function) <insn, insn_offset, number>: Update comment.
524         (btrace_function) <errcode>: New.
525         (btrace_thread_info) <ngaps>: New.
526         (btrace_thread_info) <replay>: Update comment.
527         (btrace_insn_get): Update comment.
528         * record-btrace.c (btrace_ui_out_decode_error): New.
529         (record_btrace_info): Print number of gaps.
530         (btrace_insn_history, btrace_call_history): Call
531         btrace_ui_out_decode_error for gaps.
532         (record_btrace_step_thread, record_btrace_start_replaying): Skip gaps.
533
534 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
535
536         * common/btrace-common.h (btrace_cpu_vendor, btrace_cpu): New.
537         * nat/linux-btrace.c: (btrace_this_cpu): New.
538         (cpu_supports_bts): Call btrace_this_cpu.
539         (intel_supports_bts): Add cpu parameter.
540
541 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
542
543         * btrace.h (btrace_insn_class): New.
544         (btrace_insn) <size, iclass>: New.
545         * btrace.c (ftrace_find_call): Update parameters.  Update users.
546         Use instruction classification.
547         (ftrace_new_return): Update parameters.  Update users.
548         (ftrace_update_function): Update parameters.  Update users.  Use
549         instruction classification.
550         (ftrace_update_insns): Update parameters.  Update users.
551         (ftrace_classify_insn): New.
552         (btrace_compute_ftrace_bts): Fill in new btrace_insn fields.  Add
553         TRY_CATCH around call to gdb_insn_length.
554
555 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
556
557         * btrace.c (btrace_compute_ftrace_bts, btrace_compute_ftrace):
558         Update parameters.  Update users.
559
560 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
561
562         * btrace.c (parse_xml_btrace_conf_bts): Add size.
563         (btrace_conf_bts_attributes): New.
564         (btrace_conf_children): Add attributes.
565         * common/btrace-common.h (btrace_config_bts): New.
566         (btrace_config)<bts>: New.
567         (btrace_config): Update comment.
568         * nat/linux-btrace.c (linux_enable_btrace, linux_enable_bts):
569         Use config.
570         * features/btrace-conf.dtd: Increment version.  Add size
571         attribute to bts element.
572         * record-btrace.c (set_record_btrace_bts_cmdlist,
573         show_record_btrace_bts_cmdlist): New.
574         (record_btrace_adjust_size, record_btrace_print_bts_conf,
575         record_btrace_print_conf, cmd_set_record_btrace_bts,
576         cmd_show_record_btrace_bts): New.
577         (record_btrace_info): Call record_btrace_print_conf.
578         (_initialize_record_btrace): Add commands.
579         * remote.c: Add PACKET_Qbtrace_conf_bts_size enum.
580         (remote_protocol_features): Add Qbtrace-conf:bts:size packet.
581         (btrace_sync_conf): Synchronize bts size.
582         (_initialize_remote): Add Qbtrace-conf:bts:size packet.
583         * NEWS: Announce new commands and new packets.
584
585 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
586
587         * Makefile.in (XMLFILES): Add btrace-conf.dtd.
588         * x86-linux-nat.c (x86_linux_enable_btrace): Update parameters.
589         (x86_linux_btrace_conf): New.
590         (x86_linux_create_target): Initialize to_btrace_conf.
591         * nat/linux-btrace.c (linux_enable_btrace): Update parameters.
592         Check format.  Split into this and ...
593         (linux_enable_bts): ... this.
594         (linux_btrace_conf): New.
595         (perf_event_skip_record): Renamed into ...
596         (perf_event_skip_bts_record): ... this.  Updated users.
597         (linux_disable_btrace): Split into this and ...
598         (linux_disable_bts): ... this.
599         (linux_read_btrace): Check format.
600         * nat/linux-btrace.h (linux_enable_btrace): Update parameters.
601         (linux_btrace_conf): New.
602         (btrace_target_info)<ptid>: Moved.
603         (btrace_target_info)<conf>: New.
604         (btrace_target_info): Split into this and ...
605         (btrace_tinfo_bts): ... this.  Updated users.
606         * btrace.c (btrace_enable): Update parameters.
607         (btrace_conf, parse_xml_btrace_conf_bts, parse_xml_btrace_conf)
608         (btrace_conf_children, btrace_conf_attributes)
609         (btrace_conf_elements): New.
610         * btrace.h (btrace_enable): Update parameters.
611         (btrace_conf, parse_xml_btrace_conf): New.
612         * common/btrace-common.h (btrace_config): New.
613         * feature/btrace-conf.dtd: New.
614         * record-btrace.c (record_btrace_conf): New.
615         (record_btrace_cmdlist): New.
616         (record_btrace_enable_warn, record_btrace_open): Pass
617         &record_btrace_conf.
618         (record_btrace_info): Print recording format.
619         (cmd_record_btrace_bts_start): New.
620         (cmd_record_btrace_start): Call cmd_record_btrace_bts_start.
621         (_initialize_record_btrace): Add "record btrace bts" subcommand.
622         Add "record bts" alias command.
623         * remote.c (remote_state)<btrace_config>: New.
624         (remote_btrace_reset, PACKET_qXfer_btrace_conf): New.
625         (remote_protocol_features): Add qXfer:btrace-conf:read.
626         (remote_open_1): Call remote_btrace_reset.
627         (remote_xfer_partial): Handle TARGET_OBJECT_BTRACE_CONF.
628         (btrace_target_info)<conf>: New.
629         (btrace_sync_conf, btrace_read_config): New.
630         (remote_enable_btrace): Update parameters.  Call btrace_sync_conf and
631         btrace_read_conf.
632         (remote_btrace_conf): New.
633         (init_remote_ops): Initialize to_btrace_conf.
634         (_initialize_remote): Add qXfer:btrace-conf packet.
635         * target.c (target_enable_btrace): Update parameters.
636         (target_btrace_conf): New.
637         * target.h (target_enable_btrace): Update parameters.
638         (target_btrace_conf): New.
639         (target_object)<TARGET_OBJECT_BTRACE_CONF>: New.
640         (target_ops)<to_enable_btrace>: Update parameters and comment.
641         (target_ops)<to_btrace_conf>: New.
642         * target-delegates: Regenerate.
643         * target-debug.h (target_debug_print_const_struct_btrace_config_p)
644         (target_debug_print_const_struct_btrace_target_info_p): New.
645         * NEWS: Announce new command and new packet.
646
647 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
648
649         * nat/linux-btrace.h (perf_event_buffer): New.
650         (btrace_target_info) <buffer, size, data_head>: Replace with ...
651         <bts>: ... this.
652         * nat/linux-btrace.c (perf_event_header, perf_event_mmap_size)
653         (perf_event_buffer_size, perf_event_buffer_begin)
654         (perf_event_buffer_end, linux_btrace_has_changed): Removed.
655         Updated users.
656         (perf_event_new_data): New.
657
658 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
659
660         * btrace.c (btrace_enable): Pass BTRACE_FORMAT_BTS.
661         * record-btrace.c (record_btrace_open): Remove call to
662         target_supports_btrace.
663         * remote.c (remote_supports_btrace): Update parameters.
664         * target.c (target_supports_btrace): Update parameters.
665         * target.h (to_supports_btrace, target_supports_btrace): Update
666         parameters.
667         * target-delegates.c: Regenerate.
668         * target-debug.h (target_debug_print_enum_btrace_format): New.
669         * nat/linux-btrace.c
670         (kernel_supports_btrace): Rename into ...
671         (kernel_supports_bts): ... this.  Update users.  Update warning text.
672         (intel_supports_btrace): Rename into ...
673         (intel_supports_bts): ... this.  Update users.
674         (cpu_supports_btrace): Rename into ...
675         (cpu_supports_bts): ... this.  Update users.
676         (linux_supports_btrace): Update parameters.  Split into this and ...
677         (linux_supports_bts): ... this.
678         * nat/linux-btrace.h (linux_supports_btrace): Update parameters.
679
680 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
681
682         * Makefile.in (SFILES): Add common/btrace-common.c.
683         (COMMON_OBS): Add common/btrace-common.o.
684         (btrace-common.o): Add build rules.
685         * btrace.c (parse_xml_btrace): Update parameters.
686         (parse_xml_btrace_block): Set format field.
687         (btrace_add_pc, btrace_fetch): Use struct btrace_data.
688         (do_btrace_data_cleanup, make_cleanup_btrace_data): New.
689         (btrace_compute_ftrace): Split into this and...
690         (btrace_compute_ftrace_bts): ...this.
691         (btrace_stitch_trace): Split into this and...
692         (btrace_stitch_bts): ...this.
693         * btrace.h (parse_xml_btrace): Update parameters.
694         (make_cleanup_btrace_data): New.
695         * common/btrace-common.c: New.
696         * common/btrace-common.h: Include common-defs.h.
697         (btrace_block_s): Update comment.
698         (btrace_format): New.
699         (btrace_format_string): New.
700         (btrace_data_bts): New.
701         (btrace_data): New.
702         (btrace_data_init, btrace_data_fini, btrace_data_empty): New.
703         * remote.c (remote_read_btrace): Update parameters.
704         * target.c (target_read_btrace): Update parameters.
705         * target.h (target_read_btrace): Update parameters.
706         (target_ops)<to_read_btrace>: Update parameters.
707         * x86-linux-nat.c (x86_linux_read_btrace): Update parameters.
708         * target-delegates.c: Regenerate.
709         * target-debug (target_debug_print_struct_btrace_data_p): New.
710         * nat/linux-btrace.c (linux_read_btrace): Split into this and...
711         (linux_read_bts): ...this.
712         * nat/linux-btrace.h (linux_read_btrace): Update parameters.
713
714 2015-02-06  Doug Evans  <dje@google.com>
715
716         * remote-m32r-sdi.c: Include symfile.h.
717
718 2015-02-06  Doug Evans  <dje@google.com>
719
720         * symtab.h (clear_symtab_users, deduce_language_from_filename): Move
721         * symfile.h (clear_symtab_users, deduce_language_from_filename): ...
722         to here.
723
724 2015-02-06  Pedro Alves  <palves@redhat.com>
725
726         * linux-thread-db.c (find_new_threads_callback): Add debug output.
727
728 2015-02-06  Simon Marchi  <simon.marchi@ericsson.com>
729
730         PR gdb/15678
731         * breakpoint.c (map_breakpoint_numbers): Check for empty args string.
732         (enable_count_command): Check args for NULL value.
733
734 2015-02-05  Doug Evans  <xdje42@gmail.com>
735
736         * guile/scm-frame.c: Fix spelling errors in a comment.
737
738 2015-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
739
740         * python/python-internal.h (Py_hash_t): Define it for Python <3.2.
741         * python/py-value.c (valpy_fetch_lazy): Use it.  Remove cast to the
742         return type.
743
744 2015-02-04  Pedro Alves  <palves@redhat.com>
745
746         * linux-nat.c (handle_extended_wait): Don't resume LWPs here.
747         (wait_lwp): Don't call wait_lwp if linux_handle_extended_wait
748         returns true.
749         (resume_stopped_resumed_lwps): Don't check whether the thread is
750         marked as executing.
751         (linux_nat_wait_1): Use resume_stopped_resumed_lwps.
752
753 2015-02-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
754
755         * regset.h (struct regset): Add flags field.
756         (REGSET_VARIABLE_SIZE): New value for a regset's flags field.
757         * corelow.c (get_core_register_section): Add warning if the size
758         exceeds the requested size and the regset does not have the
759         REGSET_VARIABLE_SIZE flag set.
760         * alphanbsd-tdep.c (alphanbsd_gregset): Add REGSET_VARIABLE_SIZE
761         flag.
762         * armbsd-tdep.c (armbsd_gregset): Likewise.
763         * hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.
764         * hppaobsd-tdep.c (hppaobsd_gregset): Likewise.
765         * m68kbsd-tdep.c (m68kbsd_gregset): Likewise.
766         * mipsnbsd-tdep.c (mipsnbsd_gregset): Likewise.
767
768 2015-02-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
769
770         * amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections):
771         For ".reg-xstate", explicitly specify the requested section size
772         via X86_XSTATE_SIZE instead of just 0 on input and
773         X86_XSTATE_MAX_SIZE on output.
774         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections):
775         Likewise.
776
777 2015-02-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
778
779         PR corefiles/17808:
780         * gdbarch.sh (iterate_over_regset_sections_cb): Document this
781         function type, particularly its SIZE parameter.
782         * gdbarch.h: Regenerate.
783         * amd64-tdep.c (amd64_supply_fpregset): In gdb_assert, compare
784         actual against required size using ">=" instead of "==".
785         (amd64_collect_fpregset): Likewise.
786         * i386-tdep.c (i386_supply_gregset): Likewise.
787         (i386_collect_gregset): Likewise.
788         (i386_supply_fpregset): Likewise.
789         (i386_collect_fpregset): Likewise.
790         * mips-linux-tdep.c (mips_supply_gregset_wrapper): Likewise.
791         (mips_fill_gregset_wrapper): Likewise.
792         (mips_supply_fpregset_wrapper): Likewise.
793         (mips_fill_fpregset_wrapper): Likewise.
794         (mips64_supply_gregset_wrapper): Likewise.
795         (mips64_fill_gregset_wrapper): Likewise.
796         (mips64_supply_fpregset_wrapper): Likewise.
797         (mips64_fill_fpregset_wrapper): Likewise.
798         * mn10300-linux-tdep.c (am33_supply_gregset_method): Likewise.
799         (am33_supply_fpregset_method): Likewise.
800         (am33_collect_gregset_method): Likewise.
801         (am33_collect_fpregset_method): Likewise.
802
803 2015-02-04  Doug Evans  <dje@google.com>
804             Pedro Alves  <palves@redhat.com>
805             Eli Zaretskii  <eliz@gnu.org>
806
807         PR tui/17810
808         * tui/tui-command.c (tui_refresh_cmd_win): New function.
809         * tui/tui-command.c (tui_refresh_cmd_win): Declare.
810         * tui/tui-file.c: #include tui/tui-command.h.
811         (tui_file_fputs): Refresh command window if stream is not gdb_stdout.
812         (tui_file_flush): Refresh command window if stream is gdb_stdout.
813         * tui/tui-io.c (tui_puts): Remove calls to wrefresh, fflush.
814
815 2015-02-04  Pedro Alves  <palves@redhat.com>
816
817         Fix build breakage.
818         * event-loop.c (gdb_do_one_event): Add default switch case.
819
820 2015-02-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
821
822         Filter out inferior gcc option -fpreprocessed.
823         * compile/compile.c (filter_args): New function.
824         (get_args): Use it.
825
826 2015-02-03  Pedro Alves  <palves@redhat.com>
827
828         * event-loop.c: Don't declare nor define a queue type for
829         gdb_event_p.
830         (event_queue): Delete.
831         (create_event, create_file_event, gdb_event_xfree)
832         (initialize_event_loop, process_event): Delete.
833         (gdb_do_one_event): Return as soon as one event is handled.
834         (handle_file_event): Change prototype.  Used the passed in
835         file_handler pointer and ready_mask instead of looping over all
836         file handlers.
837         (gdb_wait_for_event): Update the poll/select timeouts before
838         blocking.  Run event handlers directly instead of queueing events.
839         Return as soon as one event is handled.
840         (struct async_event_handler_data): Delete.
841         (invoke_async_event_handler): Delete.
842         (check_async_event_handlers): Change return type to int.  Run
843         event handlers directly instead of queueing events.  Return as
844         soon as one event is handled.
845         (handle_timer_event): Delete.
846         (update_wait_timeout): New function, factored out from
847         poll_timers.
848         (poll_timers): Reimplement.
849         * event-loop.h (initialize_event_loop): Delete declaration.
850         * top.c (gdb_init): Don't call initialize_event_loop.
851
852 2015-02-03  Pedro Alves  <palves@redhat.com>
853
854         * event-loop.c (clear_async_event_handler): New function.
855         * event-loop.h (clear_async_event_handler): New declaration.
856         * record-btrace.c (record_btrace_async): New function.
857         (init_record_btrace_ops): Install record_btrace_async.
858         * record-full.c (record_full_async): New function.
859         (record_full_resume): Don't mark the async event source here.
860         (init_record_full_ops): Install record_full_async.
861         (record_full_core_resume): Don't mark the async event source here.
862         (init_record_full_core_ops): Install record_full_async.
863         * remote.c (remote_async): Mark and clear the async stop reply
864         queue event-loop token as appropriate.
865
866 2015-02-03  Pedro Alves  <palves@redhat.com>
867
868         * linux-nat.c (linux_child_follow_fork, linux_nat_wait_1): Use
869         target_is_async_p instead of target_can_async.
870         (linux_nat_wait): Use target_is_async_p instead of
871         target_can_async.  Don't enable async here.
872         * remote.c (interrupt_query, remote_wait, putpkt_binary): Use
873         target_is_async_p instead of target_can_async.
874
875 2015-02-02  Simon Marchi  <simon.marchi@ericsson.com>
876
877         * varobj.h (lang_varobj_ops): Mention which return values need
878         to be freed.
879
880 2015-02-02  Joel Brobecker  <brobecker@adacore.com>
881
882         * dwarf2loc.c (dwarf2_evaluate_property): Add i18n marker.
883
884 2015-02-02  Joel Brobecker  <brobecker@adacore.com>
885
886         PR gdb/17856:
887         * ada-lang.c (ada_lookup_symbol_list_worker): Do not re-cache
888         results found in the cache.
889
890 2015-02-02  Joel Brobecker  <brobecker@adacore.com>
891
892         PR gdb/17854:
893         * ada-lang.c (ada_get_symbol_cache): Set pspace_data->sym_cache
894         when allocating a new one.
895
896 2015-02-01  Tom Tromey  <tom@tromey.com>
897
898         * MAINTAINERS: Remove myself.
899
900 2015-01-31  Doug Evans  <xdje42@gmail.com>
901
902         * dwarf2read.c (process_structure_scope): Update setting of
903         TYPE_VPTR_BASETYPE, TYPE_VPTR_FIELDNO.
904         * gdbtypes.c (internal_type_vptr_fieldno): New function.
905         (set_type_vptr_fieldno): New function.
906         (internal_type_vptr_basetype): New function.
907         (set_type_vptr_basetype): New function.
908         (get_vptr_fieldno): Update setting of TYPE_VPTR_FIELDNO,
909         TYPE_VPTR_BASETYPE.
910         (allocate_cplus_struct_type): Initialize vptr_fieldno.
911         (recursive_dump_type): Printing of vptr_fieldno, vptr_basetype ...
912         (print_cplus_stuff): ... moved here.
913         (copy_type_recursive): Don't copy TYPE_VPTR_BASETYPE.
914         * gdbtypes.h (struct main_type): Members vptr_fieldno, vptr_basetype
915         moved to ...
916         (struct cplus_struct_type): ... here.  All uses updated.
917         (TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE): Rewrite.
918         (internal_type_vptr_fieldno, set_type_vptr_fieldno): Declare.
919         (internal_type_vptr_basetype, set_type_vptr_basetype): Declare.
920         * stabsread.c (read_tilde_fields): Update setting of
921         TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE.
922
923 2015-01-31  Doug Evans  <xdje42@gmail.com>
924
925         * cp-valprint.c (cp_find_class_member): Rename parameter domain_p
926         to self_p.
927         (cp_print_class_member): Rename local domain to self_type.
928         * dwarf2read.c (quirk_gcc_member_function_pointer): Rename local
929         domain_type to self_type.
930         (set_die_type) <need_gnat_info>: Handle
931         TYPE_CODE_METHODPTR, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD.
932         * gdb-gdb.py (StructMainTypePrettyPrinter): Handle
933         TYPE_SPECIFIC_SELF_TYPE.
934         * gdbtypes.c (internal_type_self_type): New function.
935         (set_type_self_type): New function.
936         (smash_to_memberptr_type): Rename parameter domain to self_type.
937         Update setting of TYPE_SELF_TYPE.
938         (smash_to_methodptr_type): Update setting of TYPE_SELF_TYPE.
939         (smash_to_method_type): Rename parameter domain to self_type.
940         Update setting of TYPE_SELF_TYPE.
941         (check_stub_method): Call smash_to_method_type.
942         (recursive_dump_type): Handle TYPE_SPECIFIC_SELF_TYPE.
943         (copy_type_recursive): Ditto.
944         * gdbtypes.h (enum type_specific_kind): New value
945         TYPE_SPECIFIC_SELF_TYPE.
946         (struct main_type) <type_specific>: New member self_type.
947         (struct cplus_struct_type) <fn_field.type>: Update comment.
948         (TYPE_SELF_TYPE): Rewrite.
949         (internal_type_self_type, set_type_self_type): Declare.
950         * gnu-v3-abi.c (gnuv3_print_method_ptr): Rename local domain to
951         self_type.
952         (gnuv3_method_ptr_to_value): Rename local domain_type to self_type.
953         * m2-typeprint.c (m2_range): Replace TYPE_SELF_TYPE with
954         TYPE_TARGET_TYPE.
955         * stabsread.c (read_member_functions): Mark methods with
956         TYPE_CODE_METHOD, not TYPE_CODE_FUNC.  Update setting of
957         TYPE_SELF_TYPE.
958
959 2015-01-31  Doug Evans  <xdje42@gmail.com>
960
961         * gdbtypes.h (TYPE_SELF_TYPE): Renamed from TYPE_DOMAIN_TYPE.
962         All uses updated.
963
964 2015-01-31  Doug Evans  <xdje42@gmail.com>
965
966         * gnu-v3-abi.c (gnuv3_dynamic_class): Assert only passed structs
967         or unions.  Return zero if union.
968         (gnuv3_get_vtable): Call check_typedef.  Assert only passed structs.
969         (gnuv3_rtti_type): Pass already-check_typedef'd value to
970         gnuv3_get_vtable.
971         (compute_vtable_size): Assert only passed structs.
972         (gnuv3_print_vtable): Don't call gnuv3_get_vtable for non-structs.
973
974 2015-01-31  Doug Evans  <xdje42@gmail.com>
975
976         * gdbtypes.c (copy_type_recursive): Handle all TYPE_SPECIFIC_FIELD
977         kinds.
978
979 2015-01-31  Gary Benson <gbenson@redhat.com>
980             Doug Evans  <dje@google.com>
981
982         PR cli/9007
983         PR cli/11920
984         PR cli/15548
985         * cli/cli-cmds.c (complete_command): Notify user if max-completions
986         reached.
987         * common/common-exceptions.h (enum errors)
988         <MAX_COMPLETIONS_REACHED_ERROR>: New value.
989         * completer.h (get_max_completions_reached_message): New declaration.
990         (max_completions): Likewise.
991         (completion_tracker_t): New typedef.
992         (new_completion_tracker): New declaration.
993         (make_cleanup_free_completion_tracker): Likewise.
994         (maybe_add_completion_enum): New enum.
995         (maybe_add_completion): New declaration.
996         (throw_max_completions_reached_error): Likewise.
997         * completer.c (max_completions): New global variable.
998         (new_completion_tracker): New function.
999         (free_completion_tracker): Likewise.
1000         (make_cleanup_free_completion_tracker): Likewise.
1001         (maybe_add_completions): Likewise.
1002         (throw_max_completions_reached_error): Likewise.
1003         (complete_line): Remove duplicates and limit result to max_completions
1004         entries.
1005         (get_max_completions_reached_message): New function.
1006         (gdb_display_match_list): Handle max_completions.
1007         (_initialize_completer): New declaration and function.
1008         * symtab.c: Include completer.h.
1009         (completion_tracker): New static variable.
1010         (completion_list_add_name): Call maybe_add_completion.
1011         (default_make_symbol_completion_list_break_on_1): Renamed from
1012         default_make_symbol_completion_list_break_on.  Maintain
1013         completion_tracker across calls to completion_list_add_name.
1014         (default_make_symbol_completion_list_break_on): New function.
1015         * top.c (init_main): Set rl_completion_display_matches_hook.
1016         * tui/tui-io.c: Include completer.h.
1017         (tui_old_rl_display_matches_hook): New static global.
1018         (tui_rl_display_match_list): Notify user if max-completions reached.
1019         (tui_setup_io): Save/restore rl_completion_display_matches_hook.
1020         * NEWS (New Options): Mention set/show max-completions.
1021
1022 2015-01-31  Gary Benson  <gbenson@redhat.com>
1023
1024         * symtab.c (struct add_name_data) <code>: New field.
1025         Updated comments.
1026         (add_symtab_completions): New function.
1027         (symtab_expansion_callback): Likewise.
1028         (default_make_symbol_completion_list_break_on): Set datum.code.
1029         Move minimal symbol scan before calling expand_symtabs_matching.
1030         Scan known primary symtabs for externs and statics before calling
1031         expand_symtabs_matching.  Pass symtab_expansion_callback as
1032         expansion_notify argument to expand_symtabs_matching.  Do not scan
1033         primary symtabs for externs and statics after calling
1034         expand_symtabs_matching.
1035
1036 2015-01-31  Gary Benson  <gbenson@redhat.com>
1037
1038         * symfile.h (expand_symtabs_exp_notify_ftype): New typedef.
1039         (struct quick_symbol_functions) <expand_symtabs_matching>:
1040         New argument expansion_notify.  All uses updated.
1041         (expand_symtabs_matching): New argument expansion_notify.
1042         All uses updated.
1043         * symfile-debug.c (debug_qf_expand_symtabs_matching):
1044         Also print expansion notify.
1045         * symtab.c (expand_symtabs_matching_via_partial): Call
1046         expansion_notify whenever a partial symbol table is expanded.
1047         * dwarf2read.c (dw2_expand_symtabs_matching): Call
1048         expansion_notify whenever a symbol table is instantiated.
1049
1050 2015-01-31  Doug Evans  <xdje42@gmail.com>
1051
1052         * cli-out.c: #include completer.h, readline/readline.h.
1053         (cli_mld_crlf, cli_mld_putch, cli_mld_puts): New functions.
1054         (cli_mld_flush, cld_mld_erase_entire_line): Ditto.
1055         (cli_mld_beep, cli_mld_read_key, cli_display_match_list): Ditto.
1056         * cli-out.h (cli_display_match_list): Declare.
1057         * completer.c (MB_INVALIDCH, MB_NULLWCH): New macros.
1058         (ELLIPSIS_LEN): Ditto.
1059         (gdb_get_y_or_n, gdb_display_match_list_pager): New functions.
1060         (gdb_path_isdir, gdb_printable_part, gdb_fnwidth): Ditto.
1061         (gdb_fnprint, gdb_print_filename): Ditto.
1062         (gdb_complete_get_screenwidth, gdb_display_match_list_1): Ditto.
1063         (gdb_display_match_list): Ditto.
1064         * completer.h (mld_crlf_ftype, mld_putch_ftype): New typedefs.
1065         (mld_puts_ftype, mld_flush_ftype, mld_erase_entire_line_ftype): Ditto.
1066         (mld_beep_ftype, mld_read_key_ftype): Ditto.
1067         (match_list_displayer): New struct.
1068         (gdb_display_match_list): Declare.
1069         * top.c (init_main): Set rl_completion_display_matches_hook.
1070         * tui/tui-io.c: #include completer.h.
1071         (printable_part, PUTX, print_filename, get_y_or_n): Delete.
1072         (tui_mld_crlf, tui_mld_putch, tui_mld_puts): New functions.
1073         (tui_mld_flush, tui_mld_erase_entire_line, tui_mld_beep): Ditto.
1074         (tui_mld_getc, tui_mld_read_key): Ditto.
1075         (tui_rl_display_match_list): Rewrite.
1076         (tui_handle_resize_during_io): New arg for_completion.  All callers
1077         updated.
1078
1079 2015-01-31  Doug Evans  <xdje42@gmail.com>
1080
1081         Add symbol lookup cache.
1082         * NEWS: Document new options and commands.
1083         * symtab.c (symbol_cache_key): New static global.
1084         (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros.
1085         (SYMBOL_LOOKUP_FAILED): New macro.
1086         (symbol_cache_slot_state): New enum.
1087         (block_symbol_cache): New struct.
1088         (symbol_cache): New struct.
1089         (new_symbol_cache_size, symbol_cache_size): New static globals.
1090         (hash_symbol_entry, eq_symbol_entry): New functions.
1091         (symbol_cache_byte_size, resize_symbol_cache): New functions.
1092         (make_symbol_cache, free_symbol_cache): New functions.
1093         (get_symbol_cache, symbol_cache_cleanup): New function.
1094         (set_symbol_cache_size, set_symbol_cache_size_handler): New functions.
1095         (symbol_cache_lookup, symbol_cache_clear_slot): New function.
1096         (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions.
1097         (symbol_cache_flush, symbol_cache_dump): New functions.
1098         (maintenance_print_symbol_cache): New function.
1099         (maintenance_flush_symbol_cache): New function.
1100         (symbol_cache_stats): New function.
1101         (maintenance_print_symbol_cache_statistics): New function.
1102         (symtab_new_objfile_observer): New function.
1103         (symtab_free_objfile_observer): New function.
1104         (lookup_static_symbol, lookup_global_symbol): Use symbol cache.
1105         (_initialize_symtab): Init symbol_cache_key.  New parameter
1106         maint symbol-cache-size.  New maint commands print symbol-cache,
1107         print symbol-cache-statistics, flush-symbol-cache.
1108         Install new_objfile, free_objfile observers.
1109
1110 2015-01-31  Joel Brobecker  <brobecker@adacore.com>
1111
1112         PR symtab/17855
1113         * symfile.c (clear_symtab_users): Move call to breakpoint_re_set
1114         to end.
1115
1116 2015-01-31  Doug Evans  <xdje42@gmail.com>
1117
1118         * NEWS: Mention inlined scripts in .debug_gdb_scripts section.
1119         * auto-load.c: #include ctype.h.
1120         (struct auto_load_pspace_info): Replace member loaded_scripts with
1121         new members loaded_script_files, loaded_script_texts.
1122         (auto_load_pspace_data_cleanup): Update.
1123         (init_loaded_scripts_info): Update.
1124         (get_auto_load_pspace_data_for_loading): Update.
1125         (maybe_add_script_file): Renamed from maybe_add_script.  All callers
1126         updated.
1127         (maybe_add_script_text): New function.
1128         (clear_section_scripts): Update.
1129         (source_script_file, execute_script_contents): New functions.
1130         (source_section_scripts): Add support for
1131         SECTION_SCRIPT_ID_PYTHON_TEXT, SECTION_SCRIPT_ID_GUILE_TEXT.
1132         (print_scripts): New function.
1133         (auto_load_info_scripts): Also print inlined scripts.
1134         (maybe_print_unsupported_script_warning): Renamed from
1135         unsupported_script_warning_print.  All callers updated.
1136         (maybe_print_script_not_found_warning): Renamed from
1137         script_not_found_warning_print.  All callers updated.
1138         * extension-priv.h (struct extension_language_script_ops): New member
1139         objfile_script_executor.
1140         * extension.c (ext_lang_objfile_script_executor): New function.
1141         * extension.h (objfile_script_executor_func): New typedef.
1142         (ext_lang_objfile_script_executor): Declare.
1143         * guile/guile-internal.h (gdbscm_execute_objfile_script): Declare.
1144         * guile/guile.c (guile_extension_script_ops): Update.
1145         * guile/scm-objfile.c (gdbscm_execute_objfile_script): New function.
1146         * python/python.c (python_extension_script_ops): Update.
1147         (gdbpy_execute_objfile_script): New function.
1148
1149 2015-01-31  Eli Zaretskii  <eliz@gnu.org>
1150
1151         * tui/tui-io.c (tui_expand_tabs): New function.
1152         (tui_puts, tui_redisplay_readline): Expand TABs into the
1153         appropriate number of spaces.
1154         * tui/tui-regs.c: Include tui-io.h.
1155         (tui_register_format): Call tui_expand_tabs to expand TABs into
1156         the appropriate number of spaces.
1157         * tui/tui-io.h: Add prototype for tui_expand_tabs.
1158
1159 2015-01-30  Doug Evans  <dje@google.com>
1160
1161         * NEWS: "info source" command now display producer string if present.
1162         * source.c (source_info): Print producer string if present.
1163
1164 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
1165
1166         * varobj.c (varobj_delete): Fix comment.
1167
1168 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
1169
1170         * varobj.c (create_child): Modify comment.
1171
1172 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
1173
1174         * ada-varobj.c (ada_number_of_children): Constify struct varobj *
1175         parameter.
1176         (ada_name_of_variable): Same.
1177         (ada_path_expr_of_child): Same.
1178         (ada_value_of_variable): Same.
1179         (ada_value_is_changeable_p): Same.
1180         (ada_value_has_mutated): Same.
1181         * c-varobj.c (varobj_is_anonymous_child): Same.
1182         (c_is_path_expr_parent): Same.
1183         (c_number_of_children): Same.
1184         (c_name_of_variable): Same.
1185         (c_path_expr_of_child): Same.
1186         (get_type): Same.
1187         (c_value_of_variable): Same.
1188         (cplus_number_of_children): Same.
1189         (cplus_name_of_variable): Same.
1190         (cplus_path_expr_of_child): Same.
1191         (cplus_value_of_variable): Same.
1192         * jv-varobj.c (java_number_of_children): Same.
1193         (java_name_of_variable): Same.
1194         (java_path_expr_of_child): Same.
1195         (java_value_of_variable): Same.
1196         * varobj.c (number_of_children): Same.
1197         (name_of_variable): Same.
1198         (is_root_p): Same.
1199         (varobj_ensure_python_env): Same.
1200         (varobj_get_objname): Same.
1201         (varobj_get_expression): Same.
1202         (varobj_get_display_format): Same.
1203         (varobj_get_display_hint): Same.
1204         (varobj_has_more): Same.
1205         (varobj_get_thread_id): Same.
1206         (varobj_get_frozen): Same.
1207         (dynamic_varobj_has_child_method): Same.
1208         (varobj_get_gdb_type): Same.
1209         (is_path_expr_parent): Same.
1210         (varobj_default_is_path_expr_parent): Same.
1211         (varobj_get_language): Same.
1212         (varobj_get_attributes): Same.
1213         (varobj_is_dynamic_p): Same.
1214         (varobj_get_child_range): Same.
1215         (varobj_value_has_mutated): Same.
1216         (varobj_get_value_type): Same.
1217         (number_of_children): Same.
1218         (name_of_variable): Same.
1219         (check_scope): Same.
1220         (varobj_editable_p): Same.
1221         (varobj_value_is_changeable_p): Same.
1222         (varobj_floating_p): Same.
1223         (varobj_default_value_is_changeable_p): Same.
1224
1225 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
1226
1227         * varobj.c (varobj_get_path_expr): Set var->path_expr.
1228         * c-varobj.c (c_path_expr_of_child): Set local var instead of
1229         child->path_expr.
1230         (cplus_path_expr_of_child): Same.
1231
1232 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
1233
1234         * mi-cmd-var.c (print_varobj): Free varobj_get_expression
1235         result.
1236         (mi_cmd_var_info_expression): Same.
1237         * varobj.c (varobj_get_expression): Mention in the comment that
1238         the result must by freed by the caller.
1239
1240 2015-01-30  Simon Marchi  <simon.marchi@ericsson.com>
1241
1242         * mi/mi-cmd-var.c (mi_cmd_var_info_type): Free result of
1243         varobj_get_type.
1244         (varobj_update_one): Same.
1245         * varobj.c (update_type_if_necessary): Free curr_type_str and
1246         new_type_str.
1247         (varobj_get_type): Specify in comment that the result needs to be
1248         freed by the caller.
1249
1250 2015-01-29  Doug Evans  <dje@google.com>
1251
1252         PR symtab/17890
1253         * dwarf2read.c (dwarf_decode_line_header): Punt if version > 4.
1254
1255 2015-01-25  Mark Wielaard  <mjw@redhat.com>
1256
1257         * dwarf2read.c (checkproducer): Call producer_is_gcc.
1258         * utils.c (producer_is_gcc_ge_4): Likewise.
1259         (producer_is_gcc): New function.
1260         * utils.h (producer_is_gcc): New declaration.
1261
1262 2015-01-29  Joel Brobecker  <brobecker@adacore.com>
1263
1264         * gdbtypes.h (struct dynamic_prop): New PROP_ADDR_OFFSET enum
1265         kind.
1266         * gdbtypes.c (resolve_dynamic_type_internal): Replace "addr"
1267         parameter by "addr_stack" parameter.
1268         (resolve_dynamic_range): Replace "addr" parameter by
1269         "stack_addr" parameter.  Update function documentation.
1270         Update code accordingly.
1271         (resolve_dynamic_array, resolve_dynamic_union)
1272         (resolve_dynamic_struct, resolve_dynamic_type_internal): Likewise.
1273         (resolve_dynamic_type): Update code, following the changes made
1274         to resolve_dynamic_type_internal's interface.
1275         * dwarf2loc.h (struct property_addr_info): New.
1276         (dwarf2_evaluate_property): Replace "address" parameter
1277         by "addr_stack" parameter.  Adjust function documentation.
1278         (struct dwarf2_offset_baton): New.
1279         (struct dwarf2_property_baton): Update documentation of
1280         field "referenced_type" to be more general. New field
1281         "offset_info" in union data field.
1282         * dwarf2loc.c (dwarf2_evaluate_property): Replace "address"
1283         parameter by "addr_stack" parameter.  Adjust code accordingly.
1284         Add support for PROP_ADDR_OFFSET properties.
1285         * dwarf2read.c (attr_to_dynamic_prop): Add support for
1286         DW_AT_data_member_location attributes as well.  Use case
1287         statements instead of if/else condition.
1288
1289 2015-01-29  Joel Brobecker  <brobecker@adacore.com>
1290
1291         * ada-varobj.c (ada_varobj_get_array_number_of_children):
1292         Return zero if PARENT_VALUE is NULL and parent_type's
1293         range type is dynamic.
1294
1295 2015-01-29  Joel Brobecker  <brobecker@adacore.com>
1296
1297         * gdbtypes.c (is_dynamic_type_internal) <TYPE_CODE_RANGE>: Return
1298         nonzero if the type's subtype is dynamic.
1299         (resolve_dynamic_range): Also resolve the range's subtype.
1300
1301 2015-01-29  Alexander Klimov  <alserkli@inbox.ru>  (tiny patch)
1302
1303         Pushed by Joel Brobecker  <brobecker@adacore.com>.
1304         * symfile.c (unmap_overlay_command): Initialize sec to NULL.
1305
1306 2015-01-27  Doug Evans  <dje@google.com>
1307
1308         * NEWS: Mention gdb.Objfile.username.
1309         * python/py-objfile.c (objfpy_get_username): New function.
1310         (objfile_getset): Add "username".
1311
1312 2015-01-24  Mark Wielaard  <mjw@redhat.com>
1313
1314         * stack.c (return_command): Markup warning message with _.
1315
1316 2015-01-24  Doug Evans  <xdje42@gmail.com>
1317
1318         * gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete.
1319
1320 2015-01-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
1321
1322         Fix 100x slowdown regression on DWZ files.
1323         * dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash.
1324         (struct line_header): Add offset and offset_in_dwz.
1325         (dwarf_decode_lines): Add parameter decode_mapping to the declaration.
1326         (free_line_header_voidp): New declaration.
1327         (line_header_hash, line_header_hash_voidp, line_header_eq_voidp): New
1328         functions.
1329         (dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller.
1330         (handle_DW_AT_stmt_list): Use line_header_hash.
1331         (free_line_header_voidp): New function.
1332         (dwarf_decode_line_header): Initialize offset and offset_in_dwz.
1333         (dwarf_decode_lines): New parameter decode_mapping, use it.
1334         (dwarf2_free_objfile): Free line_header_hash.
1335
1336 2015-01-23  Simon Marchi  <simon.marchi@ericsson.com>
1337
1338         PR gdb/17416
1339         * valops.c (value_rtti_indirect_type): Catch exception thrown by
1340         value_ind.
1341
1342 2015-01-15  Mark Wielaard  <mjw@redhat.com>
1343
1344         * dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from
1345         DW_AT_noreturn.
1346         * gdbtypes.h (struct func_type): Add is_noreturn field flag. Make
1347         calling_convention an 8 bit bit field.
1348         (TYPE_NO_RETURN): New macro.
1349         * infcmd.c (finish_command): Query if function does not return
1350         normally.
1351         * stack.c (return_command): Likewise.
1352
1353 2015-01-23  Pedro Alves  <palves@redhat.com>
1354
1355         * linux-nat.c (linux_is_async_p): New macro.
1356         (linux_nat_is_async_p):
1357         (linux_nat_terminal_inferior): Check whether the target can async
1358         instead of whether it is already async.
1359         (linux_nat_terminal_ours): Don't check whether the target is
1360         async.
1361         (linux_async_pipe): Use linux_is_async_p.
1362
1363 2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
1364
1365         * NEWS (Changes since GDB 7.9): Add 'thread apply all' option
1366         '-ascending'.
1367         * thread.c (tp_array_compar_ascending, tp_array_compar): New.
1368         (thread_apply_all_command): Parse CMD for tp_array_compar_ascending.
1369         Sort tp_array using tp_array_compar.
1370         (_initialize_thread): Extend thread_apply_all_command help.
1371
1372 2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
1373
1374         * corelow.c (core_open): Call also thread_command.
1375         * gdbthread.h (thread_command): New prototype moved from ...
1376         * thread.c (thread_command): ... here.
1377         (thread_command): Make it global.
1378
1379 2015-01-22  Pedro Alves  <palves@redhat.com>
1380
1381         * configure.ac [*mingw32*]: Check $curses_found instead of
1382         $prefer_curses.
1383         * configure: Regenerate.
1384         * windows-termcap.c: Remove HAVE_CURSES_H, HAVE_NCURSES_H and
1385         HAVE_NCURSES_NCURSES_H checks.
1386
1387 2015-01-22  Eli Zaretskii  <eliz@gnu.org>
1388
1389         * tui/tui.c (tui_enable) [__MINGW32__]: If the call to 'newterm'
1390         fails with the 1st arg NULL, try again with "unknown".  Don't test
1391         the "cup" capability: it isn't supported by the Windows port of
1392         ncurses, but the Windows console driver is still capable of
1393         supporting TUI.
1394
1395 2015-01-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
1396
1397         * compile/compile.c (_initialize_compile): Use -fPIE for compile_args.
1398
1399 2015-01-22  Eli Zaretskii  <eliz@gnu.org>
1400
1401         * Makefile.in (HFILES_NO_SRCDIR): Remove ada-varobj.h.
1402         (ALLDEPFILES): Remove irix5-nat.c.  These two are part of the
1403         reason that "make TAGS" is broken.
1404
1405 2015-01-22  Chen Gang  <gang.chen.5i5j@gmail.com>
1406
1407         * hppa-tdep.c (inst_saves_gr): Fix logical working flow issues
1408         and check additional store instructions.
1409
1410 2015-01-21  Wei-cheng Wang  <cole945@gmail.com>
1411
1412         * MAINTAINERS (Write After Approval): Add "Wei-cheng Wang".
1413
1414 2015-01-21  Wei-cheng Wang  <cole945@gmail.com>
1415
1416         * ppc-linux-tdep.c (ppc_skip_trampoline_code,
1417         ppc_canonicalize_syscall, ppc_linux_syscall_record,
1418         ppc_linux_record_signal, ppc_init_linux_record_tdep): Add comments.
1419         * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
1420         * rs6000-tdep.c (rs6000_epilogue_frame_cache,
1421         rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register,
1422         rs6000_epilogue_frame_sniffer, ppc_record_vsr, ppc_process_record_op4,
1423         ppc_process_record_op19, ppc_process_record_op31,
1424         ppc_process_record_op59, ppc_process_record_op60,
1425         ppc_process_record_op63): Likewise.
1426
1427 2015-01-20  Joel Brobecker  <brobecker@adacore.com>
1428
1429         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string)
1430         (linux_ptrace_test_ret_to_nx): Use safe_strerror instead of
1431         strerror.
1432
1433 2015-01-20  Wei-cheng Wang  <cole945@gmail.com>
1434
1435         * rs6000-tdep.c (ppc_process_record_op4, ppc_process_record_op19,
1436         ppc_process_record_op31, ppc_process_record_op59,
1437         ppc_process_record_op60, ppc_process_record_op63,
1438         ppc_process_record): Fix -Wformat warning.
1439         * rs6000-tdep.c (rs6000_epilogue_frame_cache, ppc_process_record_op60):
1440         Remove unused variables.
1441
1442 2015-01-20  Chen Gang  <gang.chen.5i5j@gmail.com>
1443
1444         * MAINTAINERS (Write After Approval): Add "Chen Gang".
1445
1446 2015-01-19  Eli Zaretskii  <eliz@gnu.org>
1447
1448         * configure.ac [*mingw32*]: Only add windows-termcap.o to
1449         CONFIG_OBS if not building with a curses library.
1450         * configure: Regenerate.
1451
1452         * windows-termcap.c: Include defs.h.  Make the whole body empty if
1453         either one of HAVE_CURSES_H or HAVE_NCURSES_H or
1454         HAVE_NCURSES_NCURSES_H is defined.
1455
1456 2015-01-19  Joel Brobecker  <brobecker@adacore.com>
1457
1458         * rs6000-tdep.c (rs6000_gdbarch_init): Move divide operator
1459         from end of line to start of next line.
1460
1461 2015-01-17  Wei-cheng Wang  <cole945@gmail.com>
1462
1463         * ppc-linux-tdep.c (ppc_skip_trampoline_code):
1464         Scan PLT stub backward for reverse debugging.
1465         * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
1466
1467 2015-01-17  Wei-cheng Wang  <cole945@gmail.com>
1468             Ulrich Weigand  <uweigand@de.ibm.com>
1469
1470         * configure.tgt (powerpc*-*-linux): Add linux-record.o to
1471         gdb_target_obs.
1472         (ppc_linux_record_tdep, ppc64_linux_record_tdep): New for linux syscall
1473         record.
1474         (ppc_canonicalize_syscall, ppc_linux_syscall_record,
1475         ppc_linux_record_signal, ppc_init_linux_record_tdep): New functions.
1476         (ppc_linux_init_abi): Set process_record, process_record_signal.
1477         * ppc-tdep.h (struct gdbarch_tdep): Add ppc_syscall_record and
1478         ppc_linux_record_tdep to gdbarch_tdep.
1479         (ppc_process_record): New declaration.
1480         * rs6000-tdep.c (ppc_record_vsr, ppc_process_record_op4,
1481         ppc_process_record_op19, ppc_process_record_op31,
1482         ppc_process_record_op59, ppc_process_record_op60,
1483         ppc_process_record_op63, ppc_process_record): New functions.
1484
1485 2015-01-17  Wei-cheng Wang  <cole945@gmail.com>
1486
1487         * rs6000-tdep.c (rs6000_in_function_epilogue_p): Rename to
1488         rs6000_in_function_epilogue_frame_p and add an argument
1489         for frame_info.
1490         (rs6000_epilogue_frame_cache, rs6000_epilogue_frame_this_id,
1491         rs6000_epilogue_frame_prev_register, rs6000_epilogue_frame_sniffer):
1492         New functions.
1493         (rs6000_epilogue_frame_unwind): New.
1494         (rs6000_gdbarch_init): Append epilogue unwinder.
1495
1496 2015-01-16  Sergio Durigan Junior  <sergiodj@redhat.com>
1497
1498         * nat/linux-personality.c: Replace "#ifndef
1499         HAVE_DECL_ADDR_NO_RANDOMIZE" by "#if
1500         !HAVE_DECL_ADDR_NO_RANDOMIZE", fixing a regression in RHEL-5
1501         systems.
1502
1503 2015-01-16  Eli Zaretskii  <eliz@gnu.org>
1504
1505         * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New
1506         functions.
1507         (_initialize_tui_win) <border-kind, border-mode>:
1508         <active-border-mode>: Use tui_set_var_cmd as the "set" function.
1509         (tui_set_tab_width_command): Fix the commentary.
1510
1511         * tui/tui-win.h: Add prototype for tui_rehighlight_all.
1512
1513         * tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command):
1514         Doc fix.
1515         (tui_set_tab_width_command): Delete and recreate the source and
1516         the disassembly windows, to show the effect of the changed tab
1517         size immediately.
1518
1519         * tui/tui-data.h (LINE_PREFIX): Make shorter
1520         (MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for
1521         "Thread NNNNN.XXXX" thread ID notation on Windows.
1522
1523 2015-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
1524
1525         Fix gcc-5 compilation.
1526         * hppa-tdep.c (inst_saves_gr): Fix parentheses typo.
1527
1528 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
1529
1530         * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-personality.h.
1531         (linux-personality.o): New rule.
1532         * common/common-defs.h: Include <stdint.h>.
1533         * config/aarch64/linux.mh (NATDEPFILES): Include
1534         linux-personality.o.
1535         * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
1536         * config/arm/linux.mh (NATDEPFILES): Likewise.
1537         * config/i386/linux64.mh (NATDEPFILES): Likewise.
1538         * config/i386/linux.mh (NATDEPFILES): Likewise.
1539         * config/ia64/linux.mh (NATDEPFILES): Likewise.
1540         * config/m32r/linux.mh (NATDEPFILES): Likewise.
1541         * config/m68k/linux.mh (NATDEPFILES): Likewise.
1542         * config/mips/linux.mh (NATDEPFILES): Likewise.
1543         * config/pa/linux.mh (NATDEPFILES): Likewise.
1544         * config/powerpc/linux.mh (NATDEPFILES): Likewise.
1545         * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
1546         * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
1547         * config/s390/linux.mh (NATDEPFILES): Likewise.
1548         * config/sparc/linux64.mh (NATDEPFILES): Likewise.
1549         * config/sparc/linux.mh (NATDEPFILES): Likewise.
1550         * config/tilegx/linux.mh (NATDEPFILES): Likewise.
1551         * config/xtensa/linux.mh (NATDEPFILES): Likewise.
1552         * defs.h: Remove #include <stdint.h> (moved to
1553         common/common-defs.h).
1554         * linux-nat.c: Include nat/linux-personality.h.  Remove #include
1555         <sys/personality.h>; do not define ADDR_NO_RANDOMIZE (moved to
1556         nat/linux-personality.c).
1557         (linux_nat_create_inferior): Remove code to disable address space
1558         randomization (moved to nat/linux-personality.c).  Create cleanup
1559         to disable address space randomization.
1560         * nat/linux-personality.c: New file.
1561         * nat/linux-personality.h: Likewise.
1562
1563 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
1564
1565         * Makefile.in (ALLDEPFILES): Including common/mingw-strerror.c and
1566         common/posix-strerror.c.
1567         (posix-strerror.o): New rule.
1568         (mingw-strerror.o): Likewise.
1569         * common/common-utils.h (safe_strerror): Move prototype to here,
1570         from utils.h.
1571         * common/common.host: New file.
1572         * common/mingw-strerror.c: Likewise.
1573         * common/posix-strerror.c: Likewise.
1574         * configure: Regenerated.
1575         * configure.ac: Source common/common.host.  Add variable
1576         common_host_obs to gdb_host_obs.
1577         * contrib/ari/gdb_ari.sh: Mention gdb/common/mingw-strerror.c and
1578         gdb/common/posix-strerror.c when warning about the use of
1579         strerror.
1580         * mingw-hdep.c (safe_strerror): Remove definition; move it to
1581         common/mingw-strerror.c.
1582         * posix-hdep.c (safe_strerror): Remove definition; move it to
1583         common/posix-hdep.c.
1584         * utils.h (safe_strerror): Remove prototype; move to
1585         common/common-utils.h.
1586
1587 2015-01-15  Joel Brobecker  <brobecker@adacore.com>
1588
1589         GDB 7.8.2 released.
1590
1591 2015-01-15  Joel Brobecker  <brobecker@adacore.com>
1592
1593         * ada-lang.c (ada_array_bound_from_type): Ignore array's parallel
1594         ___XA type if the array has already been fixed.
1595
1596 2015-01-14  Yao Qi  <yao@codesourcery.com>
1597
1598         * Makefile.in (ppc-linux.o): New rule.
1599         * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o.
1600         * configure.ac: AC_CHECK_FUNCS(getauxval).
1601         * config.in: Re-generated.
1602         * configure: Re-generated.
1603         * nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p):
1604         Declare.
1605         * nat/ppc-linux.c: New file.
1606         * ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]:
1607         Call ppc64_64bit_inferior_p.
1608
1609 2015-01-14  Yao Qi  <yao@codesourcery.com>
1610
1611         * ppc-linux-nat.c (PT_ORIG_R3, PT_TRAP): Move to
1612         nat/ppc-linux.h.
1613         (PPC_FEATURE_CELL, PPC_FEATURE_BOOKE): Likewise.
1614         (PPC_FEATURE_HAS_DFP): Likewise.
1615         (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
1616         (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
1617         (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
1618         Include "nat/ppc-linux.h".
1619         * nat/ppc-linux.h: New file.
1620         * Makefile.in (HFILES_NO_SRCDIR): Add nat/ppc-linux.h.
1621
1622 2015-01-14  Pedro Alves  <palves@redhat.com>
1623
1624         PR gdb/17525
1625         * breakpoint.c: Include "interps.h".
1626         (bpstat_do_actions_1): Also check whether the interpreter is
1627         async.
1628
1629 2015-01-14  Pedro Alves  <palves@redhat.com>
1630
1631         PR cli/17828
1632         * infrun.c (reinstall_readline_callback_handler_cleanup): Don't
1633         reinstall if the interpreter is sync.
1634
1635 2015-01-13  Doug Evans  <dje@google.com>
1636
1637         * objfiles.c (objfile_filename): New function.
1638         * objfiles.h (objfile_filename): Declare it.
1639         (objfile_name): Add function comment.
1640         * python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the
1641         bfd file name (which may be realpath'd), and the original name.
1642
1643 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
1644
1645         * NEWS: Create a new section for the next release branch.
1646         Rename the section of the current branch, now that it has
1647         been cut.
1648
1649 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
1650
1651         GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37):
1652         * version.in: Bump version to 7.9.50.DATE-cvs.
1653
1654 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
1655
1656         * nat/linux-procfs.c (linux_proc_attach_tgid_threads):
1657         Remove trailing new-line in argument of call to warning.
1658
1659 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
1660
1661         * linux-nat.c (attach_proc_task_lwp_callback): Remove trailing
1662         new-line in argument of call to "warning".
1663
1664 2015-01-13  Joel Brobecker  <brobecker@adacore.com>
1665
1666         * ada-lang.c (ada_lookup_symbol_nonlocal): If name not found
1667         in static block, then try searching for primitive types.
1668
1669 2015-01-12  Patrick Palka  <patrick@parcs.ath.cx>
1670
1671         * top.h (gdb_add_history): Declare.
1672         * top.c (command_count): New variable.
1673         (gdb_add_history): New function.
1674         (gdb_safe_append_history): New static function.
1675         (quit_force): Call it.
1676         (command_line_input): Use gdb_add_history instead of
1677         add_history.
1678         * event-top.c (command_line_handler): Likewise.
1679
1680 2015-01-12  James Clarke  <jrtc27@jrtc27.com>  (tiny patch)
1681
1682         PR gdb/17046
1683         * darwin-nat.c: Replace <machine/setjmp.h> #include by
1684         <setjmp.h> #include.
1685
1686 2015-01-11  Doug Evans  <xdje42@gmail.com>
1687
1688         * dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME.
1689
1690 2015-01-11  Doug Evans  <xdje42@gmail.com>
1691
1692         PR gdb/15830
1693         * NEWS: The "maint demangle" command is renamed as "demangle".
1694         * demangle.c: #include cli/cli-utils.h, language.h.
1695         (demangle_command): New function.
1696         (_initialize_demangle): Add new command "demangle".
1697         * maint.c (maintenance_demangle): Stub out.
1698         (_initialize_maint_cmds): Update help text for "maint demangle",
1699         and mark as deprecated.
1700
1701 2015-01-11  Mark Kettenis  <kettenis@gnu.org>
1702
1703         * inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that
1704         inferior_thread is a function.
1705
1706 2015-01-09  Patrick Palka  <patrick@parcs.ath.cx>
1707
1708         * Makefile.in (.y.c): Don't munge yacc's #line
1709         directives.
1710
1711 2015-01-09  Patrick Palka  <patrick@parcs.ath.cx>
1712
1713         * utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
1714         to prompt for input.
1715         * tui/tui-hooks.c (tui_query_hook): Remove.
1716         (tui_install_hooks): Don't set deprecated_query_hook.
1717         * tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in
1718         height calculation.  Always update the command window's cur_line.
1719
1720 2015-01-09  Pedro Alves  <palves@redhat.com>
1721
1722         * breakpoint.c (hardware_breakpoint_inserted_here_p): New
1723         function.
1724         * breakpoint.h (hardware_breakpoint_inserted_here_p): New
1725         declaration.
1726         * linux-nat.c (linux_nat_status_is_event): Move higher up in file.
1727         (linux_resume_one_lwp): Store the thread's PC.  Adjust to clear
1728         stop_reason.
1729         (check_stopped_by_watchpoint): New function.
1730         (save_sigtrap): Reimplement.
1731         (linux_nat_stopped_by_watchpoint): Adjust.
1732         (linux_nat_lp_status_is_event): Delete.
1733         (stop_wait_callback): Only call save_sigtrap after storing the
1734         pending status.
1735         (status_callback): If the thread had been stopped for a breakpoint
1736         that has since been removed, discard the event and resume the LWP.
1737         (count_events_callback, select_event_lwp_callback): Use
1738         lwp_status_pending_p instead of linux_nat_lp_status_is_event.
1739         (cancel_breakpoint): Rename to ...
1740         (check_stopped_by_breakpoint): ... this.  Record whether the LWP
1741         stopped for a software breakpoint or hardware breakpoint.
1742         (select_event_lwp): Only give preference to the stepping LWP in
1743         all-stop mode.  Adjust comments.
1744         (stop_and_resume_callback): Remove references to new_pending_p.
1745         (linux_nat_filter_event): Likewise.  Leave exit events of the
1746         leader thread pending here.  Handle signal short circuiting here.
1747         Only call save_sigtrap after storing the pending waitstatus.
1748         (linux_nat_wait_1): Remove 'retry' label.  Remove references to
1749         new_pending.  Don't handle leaving events the caller is not
1750         interested in pending here, nor handle signal short-circuiting
1751         here.  Also give equal priority to all LWPs that have had events
1752         in non-stop mode.  If reporting a software breakpoint event,
1753         unadjust the LWP's PC.
1754         * linux-nat.h (enum lwp_stop_reason): New.
1755         (struct lwp_info) <stop_pc>: New field.
1756         (struct lwp_info) <stopped_by_watchpoint>: Delete field.
1757         (struct lwp_info) <stop_reason>: New field.
1758         * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
1759
1760 2015-01-09  Pedro Alves  <palves@redhat.com>
1761
1762         * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
1763         Set the LWP's 'resumed' flag.
1764
1765 2015-01-09  Pedro Alves  <palves@redhat.com>
1766
1767         * linux-nat.c (linux_resume_one_lwp): New function.
1768         (resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
1769         (linux_nat_resume): Use lwp_status_pending_p and
1770         linux_resume_one_lwp.
1771         (linux_handle_syscall_trap): Use linux_resume_one_lwp.
1772         (linux_handle_extended_wait): Use linux_resume_one_lwp.
1773         (status_callback, running_callback): Use lwp_status_pending_p.
1774         (lwp_status_pending_p): New function.
1775         (stop_and_resume_callback): Use lwp_status_pending_p.
1776         (linux_nat_filter_event): Use linux_resume_one_lwp.
1777         (linux_nat_wait_1): Always use status_callback to look for an LWP
1778         with a pending status.  Use linux_resume_one_lwp.
1779         (resume_stopped_resumed_lwps): Use lwp_status_pending_p and
1780         linux_resume_one_lwp.
1781
1782 2015-01-09  Pedro Alves  <palves@redhat.com>
1783
1784         * breakpoint.c (bp_location_inserted_here_p): New function,
1785         factored out from ...
1786         (breakpoint_inserted_here_p): ... here.  Use
1787         ALL_BP_LOCATIONS_AT_ADDR.
1788         (software_breakpoint_inserted_here_p): Use
1789         bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
1790
1791 2014-01-09  Pedro Alves  <palves@redhat.com>
1792
1793         Skip enabling event reporting if the kernel supports
1794         PTRACE_EVENT_CLONE.
1795         * linux-thread-db.c: Include "nat/linux-ptrace.h".
1796         (thread_db_use_events): New function.
1797         (try_thread_db_load_1): Check thread_db_use_events before enabling
1798         event reporting.
1799         (update_thread_state): New function.
1800         (attach_thread): Use it.  Check thread_db_use_events before
1801         enabling event reporting.
1802         (thread_db_detach): Check thread_db_use_events before disabling
1803         event reporting.
1804         (find_new_threads_callback): Check thread_db_use_events before
1805         enabling event reporting.  Update the thread's state if not using
1806         libthread_db events.
1807
1808 2015-01-09  Pedro Alves  <palves@redhat.com>
1809
1810         * linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
1811         about to wait for is > 0.
1812         * linux-thread-db.c (find_new_threads_callback): Ignore thread if
1813         the kernel thread ID is -1.
1814
1815 2015-01-09  Pedro Alves  <palves@redhat.com>
1816
1817         * linux-nat.c (attach_proc_task_lwp_callback): New function.
1818         (linux_nat_attach): Use linux_proc_attach_tgid_threads.
1819         (wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
1820         ptrace option flags.
1821         * linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
1822         field.
1823         * nat/linux-procfs.c: Include <dirent.h>.
1824         (linux_proc_get_int): New parameter "warn".  Handle it.
1825         (linux_proc_get_tgid): Adjust.
1826         (linux_proc_get_tracerpid): Rename to ...
1827         (linux_proc_get_tracerpid_nowarn): ... this.
1828         (linux_proc_pid_get_state): New function, factored out from
1829         (linux_proc_pid_has_state): ... this.  Add new parameter "warn"
1830         and handle it.
1831         (linux_proc_pid_is_gone): New function.
1832         (linux_proc_pid_is_stopped): Adjust.
1833         (linux_proc_pid_is_zombie_maybe_warn)
1834         (linux_proc_pid_is_zombie_nowarn): New functions.
1835         (linux_proc_pid_is_zombie): Use
1836         linux_proc_pid_is_zombie_maybe_warn.
1837         (linux_proc_attach_tgid_threads): New function.
1838         * nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
1839         (linux_proc_get_tracerpid): Rename to ...
1840         (linux_proc_get_tracerpid_nowarn): ... this, and update comment.
1841         (linux_proc_pid_is_gone): New declaration.
1842         (linux_proc_pid_is_zombie): Update comment.
1843         (linux_proc_pid_is_zombie_nowarn): New declaration.
1844         (linux_proc_attach_lwp_func): New typedef.
1845         (linux_proc_attach_tgid_threads): New declaration.
1846         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
1847         use nowarn functions.
1848         (linux_ptrace_attach_fail_reason_string): Move here from
1849         gdbserver/linux-low.c and rename.
1850         (ptrace_supports_feature): If the current ptrace options are not
1851         known yet, check them now, instead of asserting.
1852         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
1853         Declare.
1854
1855 2015-01-09  Pedro Alves  <palves@redhat.com>
1856
1857         * linux-thread-db.c (thread_db_find_new_threads_silently)
1858         (try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
1859         (find_new_threads_once): Print debug output on gdb_stdlog.
1860
1861 2015-01-09  Chen Gang  <gang.chen.5i5j@gmail.com>
1862             Pedro Alves  <palves@redhat.com>
1863
1864         * compile/compile.c: Include "gdb_wait.h".
1865         (do_rmdir): Check return value, and free 'zap'.
1866
1867 2015-01-08  Pedro Alves  <palves@redhat.com>
1868             Yao Qi  <yao@codesourcery.com>
1869
1870         * dwarf2loc.c (indirect_pieced_value): Don't call
1871         gdb_sign_extend.  Call extract_signed_integer instead.
1872         * utils.c (gdb_sign_extend): Remove.
1873         * utils.h (gdb_sign_extend): Remove declaration.
1874
1875 2015-01-07  Pierre Muller  <muller@sourceware.org>
1876
1877         PR symtab/17811
1878         * stabsread.c (define_symbol): Set language for C++ special symbols.
1879
1880 2015-01-07  Patrick Palka  <patrick@parcs.ath.cx>
1881
1882         * inflow.c (initial_gdb_ttystate): Tweak comment.
1883
1884 2015-01-07  Joel Brobecker  <brobecker@adacore.com>
1885
1886         * inflow.c (set_initial_gdb_ttystate): Add empty line after
1887         comment documenting function.
1888
1889 2015-01-07  Patrick Palka  <patrick@parcs.ath.cx>
1890
1891         * terminal.h (set_initial_gdb_ttystate): Declare.
1892         * inflow.c (initial_gdb_ttystate): New static variable.
1893         (set_initial_gdb_ttystate): New setter.
1894         (child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
1895         instead of our current terminal state.
1896         * top.c (gdb_init): Call set_initial_gdb_ttystate.
1897
1898 2015-01-07  Joel Brobecker  <brobecker@adacore.com>
1899
1900         * guile/scm-type.c (tyscm_array_1): Add comment.
1901         * python/py-type.c (typy_array_1): Add comment.
1902
1903 2015-01-06  Joel Brobecker  <brobecker@adacore.com>
1904
1905         * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
1906         error if N2 is equal to N1 - 1.
1907
1908 2015-01-06  Joel Brobecker  <brobecker@adacore.com>
1909
1910         * python/py-type.c (typy_array_1): Do not raise negative-length
1911         exception if N2 is equal to N1 - 1.
1912
1913 2015-01-03  Doug Evans  <xdje42@gmail.com>
1914
1915         * c-exp.y: Whitespace cleanup.
1916         (classify_inner_name): Remove extra ;.
1917
1918 2015-01-02  Maciej W. Rozycki  <macro@codesourcery.com>
1919
1920         * mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
1921         offset signed.
1922
1923 2015-01-02  Doug Evans  <dje@google.com>
1924
1925         * dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
1926
1927 2015-01-02  Doug Evans  <dje@google.com>
1928
1929         * symtab.h (struct symbol): Fix typo in comment.
1930
1931 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
1932
1933         Update year range in copyright notice of all files.
1934
1935 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
1936
1937         * top.c (print_gdb_version): Update copyright year to 2015.
1938
1939 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
1940
1941         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
1942
1943 For older changes see ChangeLog-2014.
1944 \f
1945 Local Variables:
1946 mode: change-log
1947 left-margin: 8
1948 fill-column: 74
1949 version-control: never
1950 coding: utf-8
1951 End: