linux-nat.c: better starvation avoidance, handle non-stop mode too
[binutils-gdb.git] / gdb / ChangeLog
1 2015-01-09 Pedro Alves <palves@redhat.com>
2
3 * breakpoint.c (hardware_breakpoint_inserted_here_p): New
4 function.
5 * breakpoint.h (hardware_breakpoint_inserted_here_p): New
6 declaration.
7 * linux-nat.c (linux_nat_status_is_event): Move higher up in file.
8 (linux_resume_one_lwp): Store the thread's PC. Adjust to clear
9 stop_reason.
10 (check_stopped_by_watchpoint): New function.
11 (save_sigtrap): Reimplement.
12 (linux_nat_stopped_by_watchpoint): Adjust.
13 (linux_nat_lp_status_is_event): Delete.
14 (stop_wait_callback): Only call save_sigtrap after storing the
15 pending status.
16 (status_callback): If the thread had been stopped for a breakpoint
17 that has since been removed, discard the event and resume the LWP.
18 (count_events_callback, select_event_lwp_callback): Use
19 lwp_status_pending_p instead of linux_nat_lp_status_is_event.
20 (cancel_breakpoint): Rename to ...
21 (check_stopped_by_breakpoint): ... this. Record whether the LWP
22 stopped for a software breakpoint or hardware breakpoint.
23 (select_event_lwp): Only give preference to the stepping LWP in
24 all-stop mode. Adjust comments.
25 (stop_and_resume_callback): Remove references to new_pending_p.
26 (linux_nat_filter_event): Likewise. Leave exit events of the
27 leader thread pending here. Handle signal short circuiting here.
28 Only call save_sigtrap after storing the pending waitstatus.
29 (linux_nat_wait_1): Remove 'retry' label. Remove references to
30 new_pending. Don't handle leaving events the caller is not
31 interested in pending here, nor handle signal short-circuiting
32 here. Also give equal priority to all LWPs that have had events
33 in non-stop mode. If reporting a software breakpoint event,
34 unadjust the LWP's PC.
35 * linux-nat.h (enum lwp_stop_reason): New.
36 (struct lwp_info) <stop_pc>: New field.
37 (struct lwp_info) <stopped_by_watchpoint>: Delete field.
38 (struct lwp_info) <stop_reason>: New field.
39 * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
40
41 2015-01-09 Pedro Alves <palves@redhat.com>
42
43 * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
44 Set the LWP's 'resumed' flag.
45
46 2015-01-09 Pedro Alves <palves@redhat.com>
47
48 * linux-nat.c (linux_resume_one_lwp): New function.
49 (resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
50 (linux_nat_resume): Use lwp_status_pending_p and
51 linux_resume_one_lwp.
52 (linux_handle_syscall_trap): Use linux_resume_one_lwp.
53 (linux_handle_extended_wait): Use linux_resume_one_lwp.
54 (status_callback, running_callback): Use lwp_status_pending_p.
55 (lwp_status_pending_p): New function.
56 (stop_and_resume_callback): Use lwp_status_pending_p.
57 (linux_nat_filter_event): Use linux_resume_one_lwp.
58 (linux_nat_wait_1): Always use status_callback to look for an LWP
59 with a pending status. Use linux_resume_one_lwp.
60 (resume_stopped_resumed_lwps): Use lwp_status_pending_p and
61 linux_resume_one_lwp.
62
63 2015-01-09 Pedro Alves <palves@redhat.com>
64
65 * breakpoint.c (bp_location_inserted_here_p): New function,
66 factored out from ...
67 (breakpoint_inserted_here_p): ... here. Use
68 ALL_BP_LOCATIONS_AT_ADDR.
69 (software_breakpoint_inserted_here_p): Use
70 bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
71
72 2014-01-09 Pedro Alves <palves@redhat.com>
73
74 Skip enabling event reporting if the kernel supports
75 PTRACE_EVENT_CLONE.
76 * linux-thread-db.c: Include "nat/linux-ptrace.h".
77 (thread_db_use_events): New function.
78 (try_thread_db_load_1): Check thread_db_use_events before enabling
79 event reporting.
80 (update_thread_state): New function.
81 (attach_thread): Use it. Check thread_db_use_events before
82 enabling event reporting.
83 (thread_db_detach): Check thread_db_use_events before disabling
84 event reporting.
85 (find_new_threads_callback): Check thread_db_use_events before
86 enabling event reporting. Update the thread's state if not using
87 libthread_db events.
88
89 2015-01-09 Pedro Alves <palves@redhat.com>
90
91 * linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
92 about to wait for is > 0.
93 * linux-thread-db.c (find_new_threads_callback): Ignore thread if
94 the kernel thread ID is -1.
95
96 2015-01-09 Pedro Alves <palves@redhat.com>
97
98 * linux-nat.c (attach_proc_task_lwp_callback): New function.
99 (linux_nat_attach): Use linux_proc_attach_tgid_threads.
100 (wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
101 ptrace option flags.
102 * linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
103 field.
104 * nat/linux-procfs.c: Include <dirent.h>.
105 (linux_proc_get_int): New parameter "warn". Handle it.
106 (linux_proc_get_tgid): Adjust.
107 (linux_proc_get_tracerpid): Rename to ...
108 (linux_proc_get_tracerpid_nowarn): ... this.
109 (linux_proc_pid_get_state): New function, factored out from
110 (linux_proc_pid_has_state): ... this. Add new parameter "warn"
111 and handle it.
112 (linux_proc_pid_is_gone): New function.
113 (linux_proc_pid_is_stopped): Adjust.
114 (linux_proc_pid_is_zombie_maybe_warn)
115 (linux_proc_pid_is_zombie_nowarn): New functions.
116 (linux_proc_pid_is_zombie): Use
117 linux_proc_pid_is_zombie_maybe_warn.
118 (linux_proc_attach_tgid_threads): New function.
119 * nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
120 (linux_proc_get_tracerpid): Rename to ...
121 (linux_proc_get_tracerpid_nowarn): ... this, and update comment.
122 (linux_proc_pid_is_gone): New declaration.
123 (linux_proc_pid_is_zombie): Update comment.
124 (linux_proc_pid_is_zombie_nowarn): New declaration.
125 (linux_proc_attach_lwp_func): New typedef.
126 (linux_proc_attach_tgid_threads): New declaration.
127 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
128 use nowarn functions.
129 (linux_ptrace_attach_fail_reason_string): Move here from
130 gdbserver/linux-low.c and rename.
131 (ptrace_supports_feature): If the current ptrace options are not
132 known yet, check them now, instead of asserting.
133 * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
134 Declare.
135
136 2015-01-09 Pedro Alves <palves@redhat.com>
137
138 * linux-thread-db.c (thread_db_find_new_threads_silently)
139 (try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
140 (find_new_threads_once): Print debug output on gdb_stdlog.
141
142 2015-01-09 Chen Gang <gang.chen.5i5j@gmail.com>
143 Pedro Alves <palves@redhat.com>
144
145 * compile/compile.c: Include "gdb_wait.h".
146 (do_rmdir): Check return value, and free 'zap'.
147
148 2015-01-08 Pedro Alves <palves@redhat.com>
149 Yao Qi <yao@codesourcery.com>
150
151 * dwarf2loc.c (indirect_pieced_value): Don't call
152 gdb_sign_extend. Call extract_signed_integer instead.
153 * utils.c (gdb_sign_extend): Remove.
154 * utils.h (gdb_sign_extend): Remove declaration.
155
156 2015-01-07 Pierre Muller <muller@sourceware.org>
157
158 PR symtab/17811
159 * stabsread.c (define_symbol): Set language for C++ special symbols.
160
161 2015-01-07 Patrick Palka <patrick@parcs.ath.cx>
162
163 * inflow.c (initial_gdb_ttystate): Tweak comment.
164
165 2015-01-07 Joel Brobecker <brobecker@adacore.com>
166
167 * inflow.c (set_initial_gdb_ttystate): Add empty line after
168 comment documenting function.
169
170 2015-01-07 Patrick Palka <patrick@parcs.ath.cx>
171
172 * terminal.h (set_initial_gdb_ttystate): Declare.
173 * inflow.c (initial_gdb_ttystate): New static variable.
174 (set_initial_gdb_ttystate): New setter.
175 (child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
176 instead of our current terminal state.
177 * top.c (gdb_init): Call set_initial_gdb_ttystate.
178
179 2015-01-07 Joel Brobecker <brobecker@adacore.com>
180
181 * guile/scm-type.c (tyscm_array_1): Add comment.
182 * python/py-type.c (typy_array_1): Add comment.
183
184 2015-01-06 Joel Brobecker <brobecker@adacore.com>
185
186 * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
187 error if N2 is equal to N1 - 1.
188
189 2015-01-06 Joel Brobecker <brobecker@adacore.com>
190
191 * python/py-type.c (typy_array_1): Do not raise negative-length
192 exception if N2 is equal to N1 - 1.
193
194 2015-01-03 Doug Evans <xdje42@gmail.com>
195
196 * c-exp.y: Whitespace cleanup.
197 (classify_inner_name): Remove extra ;.
198
199 2015-01-02 Maciej W. Rozycki <macro@codesourcery.com>
200
201 * mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
202 offset signed.
203
204 2015-01-02 Doug Evans <dje@google.com>
205
206 * dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
207
208 2015-01-02 Doug Evans <dje@google.com>
209
210 * symtab.h (struct symbol): Fix typo in comment.
211
212 2015-01-01 Joel Brobecker <brobecker@adacore.com>
213
214 Update year range in copyright notice of all files.
215
216 2015-01-01 Joel Brobecker <brobecker@adacore.com>
217
218 * top.c (print_gdb_version): Update copyright year to 2015.
219
220 2015-01-01 Joel Brobecker <brobecker@adacore.com>
221
222 * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
223
224 For older changes see ChangeLog-2014.
225 \f
226 Local Variables:
227 mode: change-log
228 left-margin: 8
229 fill-column: 74
230 version-control: never
231 coding: utf-8
232 End: