Commit | Line | Data |
---|---|---|
0ba6dca9 AC |
1 | 2003-04-24 Andrew Cagney <cagney@redhat.com> |
2 | ||
3 | * low-nbsd.c (fetch_inferior_registers): | |
4 | (store_inferior_registers): | |
5 | ||
254787d4 DJ |
6 | 2003-03-26 Daniel Jacobowitz <drow@mvista.com> |
7 | ||
8 | * linux-low.c (linux_create_inferior): Use __SIGRTMIN. | |
9 | (linux_wait_for_event, linux_init_signals): Likewise. | |
10 | ||
94e10508 DJ |
11 | 2003-03-17 Daniel Jacobowitz <drow@mvista.com> |
12 | ||
13 | * configure.in: Check for stdlib.h. | |
14 | * configure: Regenerated. | |
15 | * config.in: Regenerated. | |
16 | ||
4c0711e0 DJ |
17 | 2003-01-04 Andreas Schwab <schwab@suse.de> |
18 | ||
19 | * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31. | |
20 | ||
ef66e766 AC |
21 | 2003-01-02 Andrew Cagney <ac131313@redhat.com> |
22 | ||
23 | * Makefile.in: Remove obsolete code. | |
24 | ||
a1358604 DJ |
25 | 2002-11-20 Daniel Jacobowitz <drow@mvista.com> |
26 | ||
27 | * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of | |
28 | defined(PT_FPR0_HI). | |
29 | ||
23ce3b1c DJ |
30 | 2002-11-17 Stuart Hughes <seh@zee2.com> |
31 | ||
32 | * linux-arm-low.c (arm_num_regs): Increase. | |
33 | (arm_regmap): Include status register. | |
34 | ||
35 | 2002-11-17 Daniel Jacobowitz <drow@mvista.com> | |
36 | ||
37 | * linux-low.c (register_addr): Remove incorrect -1 check. | |
38 | ||
a9fa9f7d DJ |
39 | 2002-08-29 Daniel Jacobowitz <drow@mvista.com> |
40 | ||
41 | * linux-low.c (linux_create_inferior): Call setpgid. Return | |
42 | the new PID. | |
43 | (unstopped_p, linux_signal_pid): Remove. | |
44 | (linux_target_ops): Remove linux_signal_pid. | |
45 | * remote-utils.c (putpkt, input_interrupt): Use signal_pid | |
46 | global instead of target method. | |
47 | * target.h (struct target_ops): Remove signal_pid. Update comment | |
48 | for create_inferior. | |
49 | * server.c (signal_pid): New variable. | |
50 | (create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in | |
51 | gdbserver. Set the child to be the foreground process group. | |
52 | (attach_inferior): Set signal_pid. | |
53 | ||
17574093 DJ |
54 | 2002-08-23 Daniel Jacobowitz <drow@mvista.com> |
55 | ||
56 | * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2. | |
57 | ||
58 | 2002-08-20 Jim Blandy <jimb@redhat.com> | |
59 | ||
60 | * Makefile.in (LDFLAGS): Allow the configure script to establish a | |
61 | default for this. | |
62 | ||
63 | 2002-08-01 Andrew Cagney <cagney@redhat.com> | |
64 | ||
65 | * Makefile.in: Make chill references obsolete. | |
66 | ||
67 | 2002-07-24 Kevin Buettner <kevinb@redhat.com> | |
68 | ||
69 | * configure.in (unistd.h): Add to AC_CHECK_HEADERS list. | |
70 | * configure: Regenerate. | |
71 | * config.in: Regenerate. | |
72 | ||
73 | 2002-07-09 David O'Brien <obrien@FreeBSD.org> | |
74 | ||
75 | * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include. | |
76 | (perror_with_name, remote_close, remote_open, expect, play): Static. | |
77 | ||
78 | 2002-07-04 Michal Ludvig <mludvig@suse.cz> | |
79 | ||
80 | * linux-x86-64-low.c (x86_64_regmap): Make it an array of | |
81 | byte offsets instead of an array of indexes. | |
82 | (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const. | |
83 | ||
84 | 2002-06-13 Daniel Jacobowitz <drow@mvista.com> | |
85 | ||
86 | * regcache.c: Add comment. | |
87 | ||
88 | 2002-06-11 Daniel Jacobowitz <drow@mvista.com> | |
89 | ||
90 | * thread-db.c: New file. | |
91 | * proc-service.c: New file. | |
92 | * acinclude.m4: New file. | |
93 | * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h, | |
94 | proc-service.o, and thread-db.o. | |
95 | (linux-low.o): Add USE_THREAD_DB. | |
96 | * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T, | |
97 | HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN. | |
98 | * aclocal.m4: Regenerated. | |
99 | * config.in: Regenerated. | |
100 | * configure: Regenerated. | |
101 | * configure.in: Check for proc_service.h, sys/procfs.h, | |
102 | thread_db.h, and linux/elf.h headrs. | |
103 | Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and | |
104 | PRFPREGSET_T_BROKEN. Introduce srv_thread_depfiles and USE_THREAD_DB. | |
105 | Check for -lthread_db and thread support. | |
106 | * configure.srv: Enable thread_db support for ARM, i386, MIPS, | |
107 | PowerPC, and SuperH. | |
108 | * i387-fp.c: Constify arguments. | |
109 | * i387-fp.h: Likewise. | |
110 | * inferiors.c: (struct thread_info): Renamed from | |
111 | `struct inferior_info'. Remove PID member. Use generic inferior | |
112 | list header. All uses updated. | |
113 | (inferiors, signal_pid): Removed. | |
114 | (all_threads): New variable. | |
115 | (get_thread): Define. | |
116 | (add_inferior_to_list): New function. | |
117 | (for_each_inferior): New function. | |
118 | (change_inferior_id): New function. | |
119 | (add_inferior): Removed. | |
120 | (remove_inferior): New function. | |
121 | (add_thread): New function. | |
122 | (free_one_thread): New function. | |
123 | (remove_thread): New function. | |
124 | (clear_inferiors): Use for_each_inferior and free_one_thread. | |
125 | (find_inferior): New function. | |
126 | (find_inferior_id): New function. | |
127 | (inferior_target_data): Update argument type. | |
128 | (set_inferior_target_data): Likewise. | |
129 | (inferior_regcache_data): Likewise. | |
130 | (set_inferior_regcache_data): Likewise. | |
131 | * linux-low.c (linux_bp_reinsert): Remove. | |
132 | (all_processes, stopping_threads, using_thrads) | |
133 | (struct pending_signals, debug_threads, pid_of): New. | |
134 | (inferior_pid): Replace with macro. | |
135 | (struct inferior_linux_data): Remove. | |
136 | (get_stop_pc, add_process): New functions. | |
137 | (linux_create_inferior): Restore SIGRTMIN+1 before calling exec. | |
138 | Use add_process and add_thread. | |
139 | (linux_attach_lwp): New function, based on old linux_attach. Use | |
140 | add_process and add_thread. Set stop_expected for new threads. | |
141 | (linux_attach): New function. | |
142 | (linux_kill_one_process): New function. | |
143 | (linux_kill): Kill all LWPs. | |
144 | (linux_thread_alive): Use find_inferior_id. | |
145 | (check_removed_breakpoints, status_pending_p): New functions. | |
146 | (linux_wait_for_process): Renamed from linux_wait_for_one_inferior. | |
147 | Update. Use WNOHANG. Wait for cloned processes also. Update process | |
148 | struct for the found process. | |
149 | (linux_wait_for_event): New function. | |
150 | (linux_wait): Use it. Support LWPs. | |
151 | (send_sigstop, wait_for_sigstop, stop_all_processes) | |
152 | (linux_resume_one_process, linux_continue_one_process): New functions. | |
153 | (linux_resume): Support LWPs. | |
154 | (REGISTER_RAW_SIZE): Remove. | |
155 | (fetch_register): Use register_size instead. Call supply_register. | |
156 | (usr_store_inferior_registers): Likewise. Call collect_register. | |
157 | Fix recursive case. | |
158 | (regsets_fetch_inferior_registers): Improve error message. | |
159 | (regsets_store_inferior_registers): Add debugging. | |
160 | (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB. | |
161 | (unstopped_p, linux_signal_pid): New functions. | |
162 | (linux_target_ops): Add linux_signal_pid. | |
163 | (linux_init_signals): New function. | |
164 | (initialize_low): Call it. Initialize using_threads. | |
165 | * regcache.c (inferior_regcache_data): Add valid | |
166 | flag. | |
167 | (get_regcache): Fetch registers lazily. Add fetch argument | |
168 | and update all callers. | |
169 | (regcache_invalidate_one, regcache_invalidate): New | |
170 | functions. | |
171 | (new_register_cache): Renamed from create_register_cache. | |
172 | Return the new regcache. | |
173 | (free_register_cache): Change argument to a void *. | |
174 | (registers_to_string, registers_from_string): Call get_regcache | |
175 | with fetch flag set. | |
176 | (register_data): Make static. Pass fetch flag to get_regcache. | |
177 | (supply_register): Call get_regcache with fetch flag clear. | |
178 | (collect_register): Call get_regcache with fetch flag set. | |
179 | (collect_register_as_string): New function. | |
180 | * regcache.h: Update. | |
181 | * remote-utils.c (putpkt): Flush after debug output and use | |
182 | stderr. | |
183 | Handle input interrupts while waiting for an ACK. | |
184 | (input_interrupt): Use signal_pid method. | |
185 | (getpkt): Flush after debug output and use stderr. | |
186 | (outreg): Use collect_register_as_string. | |
187 | (new_thread_notify, dead_thread_notify): New functions. | |
188 | (prepare_resume_reply): Check using_threads. Set thread_from_wait | |
189 | and general_thread. | |
190 | (look_up_one_symbol): Flush after debug output. | |
191 | * server.c (step_thread, server_waiting): New variables. | |
192 | (start_inferior): Don't use signal_pid. Update call to mywait. | |
193 | (attach_inferior): Update call to mywait. | |
194 | (handle_query): Handle qfThreadInfo and qsThreadInfo. | |
195 | (main): Don't fetch/store registers explicitly. Use | |
196 | set_desired_inferior. Support proposed ``Hs'' packet. Update | |
197 | calls to mywait. | |
198 | * server.h: Update. | |
199 | (struct inferior_list, struct_inferior_list_entry): New. | |
200 | * target.c (set_desired_inferior): New. | |
201 | (write_inferior_memory): Constify. | |
202 | (mywait): New function. | |
203 | * target.h: Update. | |
204 | (struct target_ops): New signal_pid method. | |
205 | (mywait): Removed macro, added prototype. | |
206 | ||
207 | * linux-low.h (regset_func): Removed. | |
208 | (regset_fill_func, regset_store_func): New. | |
209 | (enum regset_type): New. | |
210 | (struct regset_info): Add type field. Use new operation types. | |
211 | (struct linux_target_ops): stop_pc renamed to get_pc. | |
212 | Add decr_pc_after_break and breakpoint_at. | |
213 | (get_process, get_thread_proess, get_process_thread) | |
214 | (strut process_info, all_processes, linux_attach_lwp) | |
215 | (thread_db_init): New. | |
216 | ||
217 | * linux-arm-low.c (arm_get_pc, arm_set_pc, | |
218 | arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New. | |
219 | (the_low_target): Add new members. | |
220 | * linux-i386-low.c (i386_store_gregset, i386_store_fpregset) | |
221 | (i386_store_fpxregset): Constify. | |
222 | (target_regsets): Add new kind identifier. | |
223 | (i386_get_pc): Renamed from i386_stop_pc. Simplify. | |
224 | (i386_set_pc): Add debugging. | |
225 | (i386_breakpoint_at): New function. | |
226 | (the_low_target): Add new members. | |
227 | * linux-mips-low.c (mips_get_pc, mips_set_pc) | |
228 | (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr) | |
229 | (mips_breakpoint_at): New. | |
230 | (the_low_target): Add new members. | |
231 | * linux-ppc-low.c (ppc_get_pc, ppc_set_pc) | |
232 | (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New. | |
233 | (the_low_target): Add new members. | |
234 | * linux-sh-low.c (sh_get_pc, sh_set_pc) | |
235 | (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New. | |
236 | (the_low_target): Add new members. | |
237 | * linux-x86-64-low.c (target_regsets): Add new kind | |
238 | identifier. | |
239 | ||
240 | 2002-05-15 Daniel Jacobowitz <drow@mvista.com> | |
241 | ||
242 | From Martin Pool <mbp@samba.org>: | |
243 | * server.c (gdbserver_usage): New function. | |
244 | (main): Call it. | |
245 | ||
246 | 2002-05-14 Daniel Jacobowitz <drow@mvista.com> | |
247 | ||
248 | * mem-break.c (reinsert_breakpoint_by_bp): Correct typo | |
249 | stop_at -> stop_pc. | |
250 | ||
251 | 2002-05-04 Andrew Cagney <ac131313@redhat.com> | |
252 | ||
253 | * Makefile.in: Remove obsolete code. | |
254 | ||
255 | 2002-04-24 Michal Ludvig <mludvig@suse.cz> | |
256 | ||
257 | * linux-low.c (regsets_fetch_inferior_registers), | |
258 | (regsets_store_inferior_registers): Removed cast to int from | |
259 | ptrace() calls. | |
260 | * regcache.h: Added declaration of struct inferior_info. | |
261 | ||
262 | 2002-04-20 Daniel Jacobowitz <drow@mvista.com> | |
263 | ||
264 | * inferiors.c (struct inferior_info): Add regcache_data. | |
265 | (add_inferior): Call create_register_cache. | |
266 | (clear_inferiors): Call free_register_cache. | |
267 | (inferior_regcache_data, set_inferior_regcache_data): New functions. | |
268 | * regcache.c (struct inferior_regcache_data): New. | |
269 | (registers): Remove. | |
270 | (get_regcache): New function. | |
271 | (create_register_cache, free_register_cache): New functions. | |
272 | (set_register_cache): Don't initialize the register cache here. | |
273 | (registers_to_string, registers_from_string, register_data): Call | |
274 | get_regcache. | |
275 | * regcache.h: Add prototypes. | |
276 | * server.h: Likewise. | |
277 | ||
278 | 2002-04-20 Daniel Jacobowitz <drow@mvista.com> | |
279 | ||
280 | * mem-break.c: New file. | |
281 | * mem-break.h: New file. | |
282 | * Makefile.in: Add mem-break.o rule; update server.h | |
283 | dependencies. | |
284 | * inferiors.c (struct inferior_info): Add target_data | |
285 | member. | |
286 | (clear_inferiors): Free target_data member if set. | |
287 | (inferior_target_data, set_inferior_target_data): New functions. | |
288 | * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len) | |
289 | (i386_stop_pc, i386_set_pc): New. Add to the_low_target. | |
290 | * linux-low.c (linux_bp_reinsert): New variable. | |
291 | (struct inferior_linux_data): New. | |
292 | (linux_create_inferior): Use set_inferior_target_data. | |
293 | (linux_attach): Likewise. Call add_inferior. | |
294 | (linux_wait_for_one_inferior): New function. | |
295 | (linux_wait): Call it. | |
296 | (linux_write_memory): Add const. | |
297 | (initialize_low): Call set_breakpoint_data. | |
298 | * linux-low.h (struct linux_target_ops): Add breakpoint | |
299 | handling members. | |
300 | * server.c (attach_inferior): Remove extra add_inferior | |
301 | call. | |
302 | * server.h: Include mem-break.h. Update inferior.c | |
303 | prototypes. | |
304 | * target.c (read_inferior_memory) | |
305 | (write_inferior_memory): New functions. | |
306 | * target.h (read_inferior_memory) | |
307 | (write_inferior_memory): Change macros to prototypes. | |
308 | (struct target_ops): Update comments. Add const to write_memory | |
309 | definition. | |
310 | ||
311 | 2002-04-11 Daniel Jacobowitz <drow@mvista.com> | |
312 | ||
313 | * linux-low.c (usr_store_inferior_registers): Support | |
314 | registers which are allowed to fail to store. | |
315 | * linux-low.h (linux_target_ops): Likewise. | |
316 | * linux-ppc-low.c (ppc_regmap): Support FPSCR. | |
317 | (ppc_cannot_store_register): FPSCR may not be storable. | |
318 | ||
319 | 2002-04-09 Daniel Jacobowitz <drow@mvista.com> | |
320 | ||
321 | * server.h: Include <string.h> if HAVE_STRING_H. | |
322 | * ChangeLog: Correct paths in last ChangeLog entry. | |
323 | ||
324 | 2002-04-09 Daniel Jacobowitz <drow@mvista.com> | |
325 | ||
326 | * linux-low.h: Remove obsolete prototypes. | |
327 | (struct linux_target_ops): New. | |
328 | (extern the_low_target): New. | |
329 | * linux-low.c (num_regs, regmap): Remove declarations. | |
330 | (register_addr): Use the_low_target explicitly. | |
331 | (fetch_register): Likewise. | |
332 | (usr_fetch_inferior_registers): Likewise. | |
333 | (usr_store_inferior_registers): Likewise. | |
334 | * linux-arm-low.c (num_regs): Remove. | |
335 | (arm_num_regs): Define. | |
336 | (arm_regmap): Renamed from regmap, made static. | |
337 | (arm_cannot_fetch_register): Renamed from cannot_fetch_register, | |
338 | made static. | |
339 | (arm_cannot_store_register): Renamed from cannot_store_register, | |
340 | made static. | |
341 | (the_low_target): New. | |
342 | * linux-i386-low.c (num_regs): Remove. | |
343 | (i386_num_regs): Define. | |
344 | (i386_regmap): Renamed from regmap, made static. | |
345 | (i386_cannot_fetch_register): Renamed from cannot_fetch_register, | |
346 | made static. | |
347 | (i386_cannot_store_register): Renamed from cannot_store_register, | |
348 | made static. | |
349 | (the_low_target): New. | |
350 | * linux-ia64-low.c (num_regs): Remove. | |
351 | (ia64_num_regs): Define. | |
352 | (ia64_regmap): Renamed from regmap, made static. | |
353 | (ia64_cannot_fetch_register): Renamed from cannot_fetch_register, | |
354 | made static. | |
355 | (ia64_cannot_store_register): Renamed from cannot_store_register, | |
356 | made static. | |
357 | (the_low_target): New. | |
358 | * linux-m68k-low.c (num_regs): Remove. | |
359 | (m68k_num_regs): Define. | |
360 | (m68k_regmap): Renamed from regmap, made static. | |
361 | (m68k_cannot_fetch_register): Renamed from cannot_fetch_register, | |
362 | made static. | |
363 | (m68k_cannot_store_register): Renamed from cannot_store_register, | |
364 | made static. | |
365 | (the_low_target): New. | |
366 | * linux-mips-low.c (num_regs): Remove. | |
367 | (mips_num_regs): Define. | |
368 | (mips_regmap): Renamed from regmap, made static. | |
369 | (mips_cannot_fetch_register): Renamed from cannot_fetch_register, | |
370 | made static. | |
371 | (mips_cannot_store_register): Renamed from cannot_store_register, | |
372 | made static. | |
373 | (the_low_target): New. | |
374 | * linux-ppc-low.c (num_regs): Remove. | |
375 | (ppc_num_regs): Define. | |
376 | (ppc_regmap): Renamed from regmap, made static. | |
377 | (ppc_cannot_fetch_register): Renamed from cannot_fetch_register, | |
378 | made static. | |
379 | (ppc_cannot_store_register): Renamed from cannot_store_register, | |
380 | made static. | |
381 | (the_low_target): New. | |
382 | * linux-s390-low.c (num_regs): Remove. | |
383 | (s390_num_regs): Define. | |
384 | (s390_regmap): Renamed from regmap, made static. | |
385 | (s390_cannot_fetch_register): Renamed from cannot_fetch_register, | |
386 | made static. | |
387 | (s390_cannot_store_register): Renamed from cannot_store_register, | |
388 | made static. | |
389 | (the_low_target): New. | |
390 | * linux-sh-low.c (num_regs): Remove. | |
391 | (sh_num_regs): Define. | |
392 | (sh_regmap): Renamed from regmap, made static. | |
393 | (sh_cannot_fetch_register): Renamed from cannot_fetch_register, | |
394 | made static. | |
395 | (sh_cannot_store_register): Renamed from cannot_store_register, | |
396 | made static. | |
397 | (the_low_target): New. | |
398 | * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap. | |
399 | (the_low_target): New. | |
400 | ||
401 | 2002-04-09 Daniel Jacobowitz <drow@mvista.com> | |
402 | ||
403 | * Makefile.in: Add stamp-h target. | |
404 | * configure.in: Create stamp-h. | |
405 | * configure: Regenerated. | |
406 | ||
407 | 2002-04-09 Daniel Jacobowitz <drow@mvista.com> | |
408 | ||
409 | * inferiors.c: New file. | |
410 | * target.c: New file. | |
411 | * target.h: New file. | |
412 | * Makefile.in: Add target.o and inferiors.o. Update | |
413 | dependencies. | |
414 | * linux-low.c (inferior_pid): New static variable, | |
415 | moved from server.c. | |
416 | (linux_create_inferior): Renamed from create_inferior. | |
417 | Call add_inferior. Return 0 on success instead of a PID. | |
418 | (linux_attach): Renamed from myattach. | |
419 | (linux_kill): Renamed from kill_inferior. Call clear_inferiors (). | |
420 | (linux_thread_alive): Renamed from mythread_alive. | |
421 | (linux_wait): Renamed from mywait. Call clear_inferiors () if the | |
422 | child dies. | |
423 | (linux_resume): Renamed from myresume. Add missing ``return 0''. | |
424 | (regsets_store_inferior_registers): Correct error message. | |
425 | Add missing ``return 0''. | |
426 | (linux_fetch_registers): Renamed from fetch_inferior_registers. | |
427 | (linux_store_registers): Renamed from store_inferior_registers. | |
428 | (linux_read_memory): Renamed from read_inferior_memory. | |
429 | (linux_write_memory): Renamed from write_inferior_memory. | |
430 | (linux_target_ops): New structure. | |
431 | (initialize_low): Call set_target_ops (). | |
432 | * remote-utils.c (unhexify): New function. | |
433 | (hexify): New function. | |
434 | (input_interrupt): Send signals to ``signal_pid''. | |
435 | * server.c (inferior_pid): Remove. | |
436 | (start_inferior): Update create_inferior call. | |
437 | (attach_inferior): Call add_inferior. | |
438 | (handle_query): New function. | |
439 | (main): Call handle_query for `q' packets. | |
440 | * server.h: Include "target.h". Remove obsolete prototypes. | |
441 | Add prototypes for "inferiors.c", "target.c", hexify, and unhexify. | |
442 | ||
443 | 2002-04-09 Daniel Jacobowitz <drow@mvista.com> | |
444 | ||
445 | * Makefile.in: Add WARN_CFLAGS. Update configury | |
446 | dependencies. | |
447 | * configure.in: Check for <string.h> | |
448 | * configure: Regenerate. | |
449 | * config.in: Regenerate. | |
450 | * gdbreplay.c: Include needed system headers. | |
451 | (remote_open): Remove strchr prototype. | |
452 | * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS. | |
453 | * regcache.c (supply_register): Change buf argument to const void *. | |
454 | (supply_register_by_name): Likewise. | |
455 | (collect_register): Change buf argument to void *. | |
456 | (collect_register_by_name): Likewise. | |
457 | * regcache.h: Add missing prototypes. | |
458 | * remote-utils.c: Include <arpa/inet.h> for inet_ntoa. | |
459 | * server.c (handle_query): New function. | |
460 | (attached): New static variable, moved out of main. | |
461 | (main): Quiet longjmp clobber warnings. | |
462 | * server.h: Add ATTR_NORETURN and ATTR_FORMAT. Update prototypes. | |
463 | * utils.c (error): Remove NORETURN. | |
464 | (fatal): Likewise. | |
465 |