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