OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.1/] [gdb/] [gdbserver/] [ChangeLog] - Blame information for rev 280

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
2010-03-06  Simo Melenius  
2
 
3
        * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
4
        switching the current inferior, not before.
5
 
6
2010-02-12  Doug Evans  
7
 
8
        * linux-low.c (linux_supports_tracefork_flag): Document.
9
        (linux_look_up_symbols): Add comment.
10
 
11
2010-02-03  H.J. Lu  
12
 
13
        * regcache.c (supply_register): Clear regcache if buf is NULL.
14
 
15
2010-02-02  Nicolas Roche  
16
            Joel Brobecker  
17
 
18
        * inferiors.c (find_inferior): Add function documentation.
19
        (unloaded_dll): Handle the case where the unloaded dll has not
20
        been previously registered in the dll list.
21
 
22
2010-02-01  Daniel Jacobowitz  
23
 
24
        * linux-arm-low.c (thumb_breakpoint_len): Delete.
25
        (thumb2_breakpoint): New.
26
        (arm_breakpoint_at): Check for Thumb-2 breakpoints.
27
 
28
2010-01-29  Daniel Jacobowitz  
29
 
30
        * linux-low.c (get_stop_pc): Check for SIGTRAP.
31
        (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
32
        breakpoints.
33
 
34
2010-01-21  Pedro Alves  
35
 
36
        * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
37
 
38
2010-01-21  Jan Kratochvil  
39
 
40
        * linux-s390-low.c (s390_collect_ptrace_register)
41
        (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
42
 
43
2010-01-21  Doug Evans  
44
 
45
        * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
46
        (PTRACE_ARG4_TYPE): New macro.
47
        (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
48
        (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
49
        (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
50
        (usr_store_inferior_registers): Ditto.
51
        (linux_read_memory, linux_write_memory): Ditto.
52
        (linux_test_for_tracefork): Ditto.
53
 
54
        * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
55
        Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
56
 
57
2010-01-21  Pedro Alves  
58
 
59
        * proc-service.c (ps_lgetregs): Don't refetch registers from the
60
        target.
61
 
62
2010-01-21  Pedro Alves  
63
 
64
        * spu-low.c (spu_fetch_registers, spu_store_registers): Change
65
        prototype to take a regcache.  Adjust.
66
 
67
2010-01-20  Pedro Alves  
68
 
69
        * regcache.h (struct thread_info): Forward declare.
70
        (struct regcache): New.
71
        (new_register_cache): Adjust prototype.
72
        (get_thread_regcache): Declare.
73
        (free_register_cache): Adjust prototype.
74
        (registers_to_string, registers_from_string): Ditto.
75
        (supply_register, supply_register_by_name, collect_register)
76
        (collect_register_as_string, collect_register_by_name): Ditto.
77
        * regcache.c (struct inferior_regcache_data): Delete.
78
        (get_regcache): Rename to ...
79
        (get_thread_regcache): ... this.  Adjust.  Switch inferior before
80
        fetching registers.
81
        (regcache_invalidate_one): Adjust.
82
        (regcache_invalidate): Fix prototype.
83
        (new_register_cache): Return the new register cache.
84
        (free_register_cache): Change prototype.
85
        (realloc_register_cache): Adjust.
86
        (registers_to_string): Change prototype to take a regcache.  Adjust.
87
        (registers_from_string): Ditto.
88
        (register_data): Ditto.
89
        (supply_register): Ditto.
90
        (supply_register_by_name): Ditto.
91
        (collect_register): Ditto.
92
        (collect_register_as_string): Ditto.
93
        (collect_register_by_name): Ditto.
94
        * server.c (process_serial_event): Adjust.
95
        * linux-low.h (regset_fill_func, regset_store_func): Change
96
        prototype.
97
        (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
98
        Change prototype.
99
        * linux-low.c (get_stop_pc): Adjust.
100
        (check_removed_breakpoint): Adjust.
101
        (linux_wait_for_event): Adjust.
102
        (linux_resume_one_lwp): Adjust.
103
        (fetch_register): Add regcache parameter.  Adjust.
104
        (usr_store_inferior_registers): Ditto.
105
        (regsets_fetch_inferior_registers): Ditto.
106
        (regsets_store_inferior_registers): Ditto.
107
        (linux_fetch_registers, linux_store_registers): Ditto.
108
        * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
109
        regcache.  Adjust.
110
        (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
111
        * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
112
        prototype to take a regcache.
113
        (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
114
        * remote-utils.c (convert_ascii_to_int, outreg)
115
        (prepare_resume_reply): Change prototype to take a regcache.
116
        Adjust.
117
        * target.h (struct target_ops) :
118
        Change prototype to take a regcache.
119
        (fetch_inferior_registers, store_inferior_registers): Change
120
        prototype to take a regcache.  Adjust.
121
        * proc-service.c (ps_lgetregs): Adjust.
122
        * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
123
        (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
124
        (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
125
        take a regcache.  Adjust.
126
        * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
127
        (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
128
        (arm_store_vfpregset, arm_get_pc, arm_set_pc):
129
        (arm_breakpoint_at): Change prototype to take a regcache.  Adjust.
130
        * linux-cris-low.c (cris_get_pc, cris_set_pc)
131
        (cris_cannot_fetch_register):
132
        (cris_breakpoint_at): Change prototype to take a regcache.
133
        Adjust.
134
        * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
135
        cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
136
        to take a regcache.  Adjust.
137
        (cris_breakpoint_at, cris_insert_point, cris_remove_point):
138
        Adjust.
139
        * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
140
        take a regcache.  Adjust.
141
        * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
142
        (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
143
        (m68k_set_pc): Change prototype to take a regcache.  Adjust.
144
        * linux-mips-low.c (mips_get_pc):
145
        (mips_set_pc): Change prototype to take a regcache.  Adjust.
146
        (mips_reinsert_addr): Adjust.
147
        (mips_collect_register): Change prototype to take a regcache.
148
        Adjust.
149
        (mips_supply_register):
150
        (mips_collect_register_32bit, mips_supply_register_32bit)
151
        (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
152
        (mips_store_fpregset): Ditto.
153
        * linux-ppc-low.c (ppc_supply_ptrace_register, ppc_supply_ptrace_register):
154
        Ditto.
155
        (parse_spufs_run): Adjust.
156
        (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
157
        (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
158
        (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
159
        take a regcache.  Adjust.
160
        * linux-s390-low.c (s390_collect_ptrace_register)
161
        (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
162
        (s390_set_pc): Change prototype to take a regcache.  Adjust.
163
        (s390_arch_setup): Adjust.
164
        * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
165
        (sh_fill_gregset): Change prototype to take a regcache.  Adjust.
166
        * linux-sparc-low.c (sparc_fill_gregset_to_stack)
167
        (sparc_fill_gregset, sparc_store_gregset_from_stack)
168
        (sparc_store_gregset, sparc_get_pc): Change prototype to take a
169
        regcache.  Adjust.
170
        (sparc_breakpoint_at): Adjust.
171
        * linux-xtensa-low.c (xtensa_fill_gregset):
172
        (xtensa_store_gregset):
173
        (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
174
        (xtensa_set_pc): Change prototype to take a regcache.  Adjust.
175
        * nto-low.c (nto_fetch_registers, nto_store_registers): Change
176
        prototype to take a regcache.  Adjust.
177
        * win32-arm-low.c (arm_fetch_inferior_register)
178
        (arm_store_inferior_register): Change prototype to take a
179
        regcache.  Adjust.
180
        * win32-i386-low.c (i386_fetch_inferior_register)
181
        (i386_store_inferior_register): Change prototype to take a
182
        regcache.  Adjust.
183
        * win32-low.c (child_fetch_inferior_registers)
184
        (child_store_inferior_registers): Change prototype to take a
185
        regcache.  Adjust.
186
        (win32_wait): Adjust.
187
        (win32_fetch_inferior_registers): Change prototype to take a
188
        regcache.  Adjust.
189
        (win32_store_inferior_registers): Adjust.
190
        * win32-low.h (struct win32_target_ops) 
191
        store_inferior_register>: Change prototype to take a regcache.
192
 
193
2010-01-20  Doug Evans  
194
 
195
        * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
196
        #ifdef.
197
        (linux_wait_for_event1, linux_init_signals): Ditto.
198
        (W_STOPCODE): Provide definition if missing.
199
 
200
2010-01-13  Vladimir Prus  
201
 
202
        * linux-low.c (linux_core_of_thread): New.
203
        (compare_ints, show_process, list_threads): New.
204
        (linux_qxfer_osdata): Report threads and cores.
205
        (linux_target_op): Register linux_core_of_thread.
206
        * remote-utils.c (prepare_resume_reply): Report the core.
207
        (buffer_xml_printf): Support %d specifier.
208
        * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
209
        New.
210
        (handle_query): Handle qXfer:threads.  Announce availability
211
        thereof.
212
        * target.h (struct target_ops): New field core_of_thread.
213
 
214
2010-01-04  Ulrich Weigand  
215
 
216
        * Makefile.in (clean): Remove new generated files.
217
        (reg-s390.o, reg-s390.c): Remove rules.
218
        (reg-s390x.o, reg-s390x.c): Likewise.
219
        (s390-linux32.o, s390-linux32.c): Add rules.
220
        (s390-linux64.o, s390-linux64.c): Likewise.
221
        (s390x-linux64.o, s390x-linux64.c): Likewise.
222
        * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
223
        * linux-s390-low.c: Include .
224
        (HWCAP_S390_HIGH_GPRS): Define if undefined.
225
        (init_registers_s390): Remove prototype.
226
        (init_registers_s390x): Likewise.
227
        (init_registers_s390_linux32): Add prototype.
228
        (init_registers_s390_linux64): Likewise.
229
        (init_registers_s390x_linux64): Likewise.
230
        (s390_num_regs_3264): New define.
231
        (s390_regmap_3264): New global variable.
232
        (s390_cannot_fetch_register): Remove obsolete check.
233
        (s390_cannot_store_register): Likewise.
234
        (s390_collect_ptrace_register): Handle upper/lower register halves.
235
        (s390_supply_ptrace_register): Likewise.
236
        (s390_fill_gregset): Update to register number changes.
237
        (s390_get_hwcap): New routine.
238
        (s390_arch_setup): Detect 32-bit process running on 64-bit system.
239
        Install appropriate regmap and register set.
240
 
241
2010-01-01  Joel Brobecker  
242
 
243
        * server.c (gdbserver_version): Update copyright year to 2010.
244
        * gdbreplay.c (gdbreplay_version): Likewise.
245
 
246
2009-12-28  Doug Evans  
247
 
248
        * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
249
        elf/external.h.  Include  instead but only if necessary.
250
 
251
2009-12-28  Pedro Alves  
252
 
253
        * linux-low.c (linux_remove_process): Remove `detaching'
254
        parameter.  Don't release/detach from thread_db here.
255
        (linux_kill): Release/detach from thread_db here, ...
256
        (linux_detach): ... and here, before actually detaching.
257
        (linux_wait_1): ... and here, when a process exits.
258
        * thread-db.c (any_thread_of): New.
259
        (thread_db_free): Switch the current inferior to a thread of the
260
        passed in process.
261
 
262
2009-12-21  Doug Evans  
263
 
264
        * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
265
 
266
        * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
267
        Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
268
        warning ifndef __NR_tkill.  Move setting of errno there too.
269
        Delete unnecessary resetting of errno after syscall.
270
        Minor comment changes to match gdb/linux-nat.c:kill_lwp.
271
 
272
        * configure.ac: Check for dladdr.
273
        * config.in: Regenerate.
274
        * configure: Regenerate.
275
        * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
276
        (try_thread_db_load): Update.
277
 
278
        * linux-low.c (my_waitpid): Delete unnecessary prototype.
279
 
280
2009-12-18  Doug Evans  
281
 
282
        * event-loop.c: Include unistd.h if it exists.
283
 
284
        * linux-low.c (my_waitpid): Move definition away from being in
285
        between linux_tracefork_child/linux_test_for_tracefork.
286
 
287
        * gdb_proc_service.h (psaddr_t): Fix type.
288
        * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
289
        signature to match glibc.
290
 
291
2009-12-16  Doug Evans  
292
 
293
        * linux-low.c (linux_read_memory): Fix argument to read.
294
 
295
2009-11-26  Pedro Alves  
296
 
297
        * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
298
        events, don't leave current_inferior pointing at null.
299
 
300
2009-11-26  Pedro Alves  
301
 
302
        * win32-low.c (LOG): Delete.
303
        (OUTMSG): Output to stderr.
304
        (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
305
        on compile time LOG macro.
306
        (win32_wait): Fix debug output.
307
 
308
2009-11-26  Pedro Alves  
309
 
310
        * win32-low.c (win32_add_one_solib): If the dll name is
311
        "ntdll.dll", prepend the system directory to the dll path.
312
 
313
2009-11-17  Daniel Jacobowitz  
314
 
315
        * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
316
 
317
2009-11-17  Nathan Sidwell  
318
            Vladimir Prus  
319
 
320
        * Makefile.in (reg-cf.o, reg-cf.c): New targets.
321
        * configure.ac: Check for __mcoldfire__ and set
322
        gdb_cv_m68k_is_coldfire.
323
        * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
324
        reg-cf.o and reg-m68k.o.
325
        * configure: Regenerated.
326
 
327
2009-11-16  Pedro Alves  
328
 
329
        * linux-low.c (linux_remove_process): Add `detaching' parameter.
330
        Pass it to thread_db_free.
331
        (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
332
        proper `detaching' argument to linux_remove_process.
333
        * linux-low.h (thread_db_free): Add `detaching' parameter.
334
        * thread-db.c (thread_db_init): Pass false as `detaching' argument
335
        to thread_db_free.
336
        (thread_db_free): Add `detaching' parameter.  Only
337
        call td_ta_clear_event if detaching from process.
338
 
339
2009-11-12  Maxim Kuvyrkov  
340
 
341
        * thread-db.c (thread_db_free): Fix typo.
342
 
343
2009-11-11  Paul Pluzhnikov  
344
 
345
        PR gdb/10838
346
        * thread-db.c (thread_db_free): Call td_ta_clear_event.
347
 
348
2009-11-03  Nathan Sidwell  
349
 
350
        * configure.ac (i[34567]86-*): Check if we're targetting x86-64
351
        with an i686 compiler.
352
        * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
353
        needed.
354
        * configure: Rebuilt.
355
 
356
2009-10-29  Sandra Loosemore  
357
 
358
        PR gdb/10783
359
 
360
        * server.c (handle_search_memory_1): Correct read_addr initialization
361
        in loop for searching subsequent chunks.
362
 
363
2009-10-29  Paul Pluzhnikov  
364
 
365
        * configure.ac: New --with-libthread-db option.
366
        * thread-db.c: Allow direct dependence on libthread_db.
367
        (thread_db_free): Adjust.
368
        * config.in: Regenerate.
369
        * configure: Likewise.
370
 
371
2009-10-28  Paul Pluzhnikov  
372
 
373
        PR gdb/10757
374
        * thread-db.c (attach_thread): New function.
375
        (maybe_attach_thread): Return success/failure.
376
        (find_new_threads_callback): Adjust.
377
        (thread_db_find_new_threads): Loop until no new threads.
378
 
379
2009-10-13  Pedro Alves  
380
 
381
        * proc-service.c (ps_lgetregs): Formatting.
382
 
383
2009-10-08  Paul Pluzhnikov  
384
 
385
        * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
386
        * configure.ac: Adjust.
387
        * linux-low.h (struct process_info_private): Move members to struct
388
        thread_db.
389
        (thread_db_free, thread_db_handle_monitor_command): New prototype.
390
        * linux-low.c (linux_remove_process): Adjust.
391
        (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
392
        * server.c (handle_query): Move code ...
393
        (handle_monitor_command): ... here. New function.
394
        * target.h (struct target_ops): New member.
395
        * thread-db.c (struct thread_db): New.
396
        (libthread_db_search_path): New variable.
397
        (thread_db_create_event, thread_db_enable_reporting)
398
        (find_one_thread, maybe_attach_thread, find_new_threads_callback)
399
        (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
400
        (try_thread_db_load_1, dladdr_to_soname): New functions.
401
        (try_thread_db_load, thread_db_load_search): New functions.
402
        (thread_db_init): Search for libthread_db.
403
        (thread_db_free): New function.
404
        (thread_db_handle_monitor_command): Likewise.
405
        * config.in: Regenerate.
406
        * configure: Regenerate.
407
 
408
2009-09-27  Ulrich Weigand  
409
 
410
        * spu-low.c (spu_kill): Wait for inferior to terminate.
411
        Call clear_inferiors.
412
        (spu_detach): Call clear_inferiors.
413
 
414
2009-08-22  Ralf Wildenhues  
415
 
416
        * aclocal.m4: Regenerate.
417
        * config.in: Likewise.
418
        * configure: Likewise.
419
 
420
2009-07-31  Ulrich Weigand  
421
 
422
        * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
423
        (parse_spufs_run): New function.
424
        (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
425
        (ppc_breakpoint_at): Handle SPU breakpoints.
426
 
427
2009-07-31  Ulrich Weigand  
428
 
429
        * linux-low.c: Include  and .
430
        (SPUFS_MAGIC): Define.
431
        (spu_enumerate_spu_ids): New function.
432
        (linux_qxfer_spu): New function.
433
        (linux_target_ops): Install linux_qxfer_spu.
434
 
435
2009-07-31  Ulrich Weigand  
436
 
437
        * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
438
        and powerpc-cell64l.o to srv_regobj.  Add rs6000/powerpc-cell32l.xml
439
        and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
440
        * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
441
        (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
442
        (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
443
        * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
444
        (init_registers_powerpc_cell32l): Add prototype.
445
        (init_registers_powerpc_cell64l): Likewise.
446
        (ppc_arch_setup): Detect Cell/B.E. architecture.
447
 
448
2009-07-30  Ralf Wildenhues  
449
 
450
        * Makefile.in (datarootdir): New variable.
451
 
452
2009-07-28  Daniel Jacobowitz  
453
 
454
        * linux-low.c (linux_write_memory): Update debugging output.
455
        * Makefile.in (clean): Add new descriptions.
456
        (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
457
        (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
458
        * configure.srv: Add new files for arm*-*-linux*.
459
        * linux-arm-low.c: Add new declarations.
460
        (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
461
        (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
462
        (HWCAP_VFPv3D16): New.
463
        (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
464
        instead of __IWMMXT__.
465
        (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
466
        (arm_arch_setup): New.
467
        (target_regsets): Remove #ifdef.  Add VFP regset.
468
        (the_low_target): Use arm_arch_setup.
469
 
470
2009-07-28  Daniel Jacobowitz  
471
 
472
        * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
473
        the main thread again.
474
 
475
2009-07-06  Aleksandar Ristovski  
476
 
477
        Adding Neutrino gdbserver.
478
        * configure: Regenerated.
479
        * configure.ac: Add case for srv_qnx and set LIBS accordingly.
480
        * configure.srv (i[34567]86-*-nto*): New target.
481
        * nto-low.c, nto-low.h, nto-x86-low.c: New files.
482
        * remote-utils.c [__QNX__]: Include sys/iomgr.h
483
        (nto_comctrl) [__QNX__]: New function.
484
        (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
485
 
486
2009-07-05  Danny Backx  
487
 
488
        * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
489
        srv_tgtobj.
490
 
491
2009-07-04  Danny Backx  
492
            Pedro Alves  
493
 
494
        * win32-i386-low.c (i386_get_thread_context): Handle systems that
495
        don't support CONTEXT_EXTENDED_REGISTERS.
496
        (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
497
        (the_low_target): Install them.
498
        * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
499
        failing with ERROR_PIPE_NOT_CONNECTED.
500
 
501
2009-06-30  Doug Evans  
502
            Pierre Muller  
503
 
504
        Add h/w watchpoint support to x86-linux, win32-i386.
505
        * Makefile.in (SFILES): Add i386-low.c
506
        (i386_low_h): Define.
507
        (i386-low.o): Add dependencies.
508
        (linux-x86-low.o): Add i386-low.h dependency.
509
        (win32-i386-low.o): Ditto.
510
        * i386-low.c: New file.
511
        * i386-low.h: New file.
512
        * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
513
        (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
514
        * linux-low.c (linux_add_process): Initialize arch_private.
515
        (linux_remove_process): Free arch_private.
516
        (add_lwp): Initialize arch_private.
517
        (delete_lwp): Free arch_private.
518
        (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
519
        provided.
520
        * linux-low.h (process_info_private): New member arch_private.
521
        (lwp_info): New member arch_private.
522
        (linux_target_ops): New members new_process, new_thread,
523
        prepare_to_resume.
524
        (ptid_of): New macro.
525
        * linux-x86-low.c: Include stddef.h, i386-low.h.
526
        (arch_process_info): New struct.
527
        (arch_lwp_info): New struct.
528
        (x86_linux_dr_get, x86_linux_dr_set): New functions.
529
        (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
530
        (i386_dr_low_get_status): New function.
531
        (x86_insert_point, x86_remove_point): New functions.
532
        (x86_stopped_by_watchpoint): New function.
533
        (x86_stopped_data_address): New function.
534
        (x86_linux_new_process, x86_linux_new_thread): New functions.
535
        (x86_linux_prepare_to_resume): New function.
536
        (the_low_target): Add entries for insert_point, remove_point,
537
        stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
538
        prepare_to_resume.
539
        * server.c (debug_hw_points): New global.
540
        (monitor_show_help): Document set debug-hw-points.
541
        (handle_query): Process "set debug-hw-points".
542
        * server.h (debug_hw_points): Declare.
543
        (paddress): Declare.
544
        * utils.c (NUMCELLS, CELLSIZE): New macros.
545
        (get_sell, xsnprintf, paddress): New functions.
546
        * win32-arm-low.c (the_low_target): Add entries for insert_point,
547
        remove_point, stopped_by_watchpoint, stopped_data_address.
548
        * win32-i386-low.c: Include i386-low.h.
549
        (debug_reg_state): Replaces dr.
550
        (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
551
        (i386_dr_low_get_status): New function.
552
        (i386_insert_point, i386_remove_point): New functions.
553
        (i386_stopped_by_watchpoint): New function.
554
        (i386_stopped_data_address): New function.
555
        (i386_initial_stuff): Update.
556
        (get_thread_context,set_thread_context,i386_thread_added): Update.
557
        (the_low_target): Add entries for insert_point,
558
        remove_point, stopped_by_watchpoint, stopped_data_address.
559
        * win32-low.c (win32_insert_watchpoint): New function.
560
        (win32_remove_watchpoint): New function.
561
        (win32_stopped_by_watchpoint): New function.
562
        (win32_stopped_data_address): New function.
563
        (win32_target_ops): Add entries for insert_watchpoint,
564
        remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
565
        * win32-low.h (win32_target_ops): New members insert_point,
566
        remove_point, stopped_by_watchpoint, stopped_data_address.
567
 
568
2009-06-25  Pedro Alves  
569
 
570
        * server.c (process_serial_event): Re-return unsupported, not
571
        error, if the type isn't recognized.  Re-allow supporting only
572
        insert or remove packets.  Also call require_running for
573
        breakpoints.  Add missing break statement to default case.  Tidy.
574
        * target.h (struct target_ops): Rename insert_watchpoint to
575
        insert_point, and remove_watchpoint to remove_point.
576
 
577
        * linux-low.h (struct linux_target_ops): Likewise.
578
        * linux-low.c (linux_insert_watchpoint): Rename to ...
579
        (linux_insert_point): ... this.  Adjust.
580
        (linux_remove_watchpoint): Rename to ...
581
        (linux_remove_point): ... this.  Adjust.
582
        (linux_target_ops): Adjust.
583
        * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
584
        (cris_insert_point): ... this.
585
        (cris_remove_watchpoint): Rename to ...
586
        (cris_remove_point): ... this.
587
        (the_low_target): Adjust.
588
 
589
2009-06-24  Pierre Muller  
590
 
591
        * server.c (handle_v_kill): Pass signal_pid to
592
        kill_inferior if multi_process is zero.
593
 
594
2009-06-23  Aleksandar Ristovski  
595
 
596
        * server.c (process_serial_event): Add support for Z0 and Z1 packet.
597
        * target.h (target_ops): Comment for *_watchpoint to make it clear
598
        the functions can get types '0' and '1'.
599
 
600
2009-06-22  Aleksandar Ristovski  
601
 
602
        * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
603
        * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
604
        * regcache.c (get_regcache): Likewise.
605
        * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
606
        * win32-low.c (child_fetch_inferior_registers): Remove check for
607
        regno 0.
608
 
609
2009-06-19  Aleksandar Ristovski  
610
            Pedro Alves 
611
 
612
        * target.h (struct target_ops) : New
613
        callback.
614
        (target_supports_multi_process): New.
615
        * server.c (handle_query): Even if GDB reports support, only
616
        enable multi-process if the target also supports it.  Report
617
        multi-process support only if the target backend supports it.
618
        * linux-low.c (linux_supports_multi_process): New function.
619
        (linux_target_ops): Install it as target_supports_multi_process
620
        callback.
621
 
622
2009-05-24  Doug Evans  
623
 
624
        Global renaming of find_thread_pid to find_thread_ptid.
625
        * server.h (find_thread_ptid): Renamed from find_thread_pid.
626
        * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
627
        All callers updated.
628
 
629
        * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
630
        to resume the newly created thread, don't call ptrace (PTRACE_CONT)
631
        directly.
632
 
633
        * linux-low.c (get_stop_pc): Print pc if debug_threads.
634
        (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
635
        (linux_resume_one_lwp): Ditto.
636
 
637
2009-05-23  Doug Evans  
638
 
639
        * linux-low.c (linux_resume_one_lwp): Change type of first arg
640
        from struct inferior_list_entry * to struct lwp_info *.
641
        All callers updated.
642
 
643
2009-05-13  Doug Evans  
644
 
645
        * linux-x86-low.c: Don't include assert.h.
646
        (x86_siginfo_fixup): Use fatal, not assert.
647
        (x86_arch_setup): Fix comment.
648
 
649
2009-05-12  Doug Evans  
650
 
651
        Biarch support for i386/amd64 gdbserver.
652
        * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
653
        Add linux-x86-low.c.
654
        (linux-i386-low.o, linux-x86-64-low.o): Delete.
655
        (linux-x86-low.o): Add.
656
        * linux-x86-64-low.c: Delete.
657
        * linux-i386-low.c: Delete.
658
        * linux-x86-low.c: New file.
659
        * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
660
        linux-x86-low.o.
661
        (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
662
        linux-x86-low.o.
663
        (x86_64-linux srv_regobj): Add reg-i386-linux.o.
664
        * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
665
        (linux_child_pid_to_exec_file): New function.
666
        (elf_64_header_p, elf_64_file_p): New functions.
667
        (siginfo_fixup): New function.
668
        (linux_xfer_siginfo): New local inf_siginfo.  Call siginfo_fixup to
669
        give target a chance to convert layout.
670
        * linux-low.h (linux_target_ops): New member siginfo_fixup.
671
        (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
672
 
673
2009-05-07  Doug Evans  
674
 
675
        * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
676
        (regsets_store_inferior_registers): Ditto.
677
 
678
2009-05-06  Pedro Alves  
679
 
680
        PR server/10048
681
 
682
        * linux-low.c (must_set_ptrace_flags): Delete.
683
        (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
684
        of the global.
685
        (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here.  Set
686
        `lwp->must_set_ptrace_flags' instead.
687
        (linux_wait_for_event_1): Set ptrace options here.
688
        (linux_wait_1): ... not here.
689
 
690
2009-04-30  Doug Evans  
691
 
692
        * inferiors.c (started_inferior_callback): New function.
693
        (attached_inferior_callback): New function.
694
        (have_started_inferiors_p, have_attached_inferiors_p): New functions.
695
        * server.c (print_started_pid, print_attached_pid): New functions.
696
        (detach_or_kill_for_exit): New function.
697
        (main): Call it instead of for_each_inferior (kill_inferior_callback).
698
        * server.h (have_started_inferiors_p): Declare.
699
        (have_attached_inferiors_p): Declare.
700
 
701
        * inferiors.c (remove_process): Fix memory leak, free process.
702
        * linux-low.c (linux_remove_process): New function.
703
        (linux_kill): Call it instead of remove_process.
704
        (linux_detach, linux_wait_1): Ditto.
705
 
706
2009-04-19  Danny Backx  
707
 
708
        * configure.srv: Add x86 Windows CE target.
709
 
710
2009-04-03  Ulrich Weigand  
711
 
712
        * inferiors.c (get_thread_process): Make global.
713
        * server.h (get_thread_process): Add prototype.
714
        * thread-db.c (find_one_thread): Use get_thread_process
715
        instead of current_process.
716
        (thread_db_get_tls_address): Do not crash if called when
717
        thread layer is not yet initialized.
718
 
719
2009-04-03  Ulrich Weigand  
720
 
721
        * remote-utils.c (prepare_resume_reply): Null-terminate packet.
722
        * spu-low.c (current_tid): Rename to ...
723
        (current_ptid): ... this.
724
        (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
725
        spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
726
        ptid_get_lwp (current_ptid) instead of current_tid.
727
        (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
728
        instead of current_tid.  Use find_process_pid to verify pid
729
        argument is valid.  Pass proper argument to remove_process.
730
        (spu_thread_alive): Compare current_ptid instead of current_tid.
731
        (spu_resume): Likewise.
732
 
733
2009-04-02  Pedro Alves  
734
 
735
        * linux-low.c (usr_store_inferior_registers): Declare local `pid'
736
        variable.
737
 
738
2009-04-01  Pedro Alves  
739
 
740
        Implement the multiprocess extensions, and add linux multiprocess
741
        support.
742
 
743
        * server.h (ULONGEST): Declare.
744
        (struct ptid, ptid_t): New.
745
        (minus_one_ptid, null_ptid): Declare.
746
        (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
747
        (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
748
        (struct inferior_list_entry): Change `id' type from unsigned from
749
        to ptid_t.
750
        (struct sym_cache, struct breakpoint, struct
751
        process_info_private): Forward declare.
752
        (struct process_info): Declare.
753
        (current_process): Declare.
754
        (all_processes): Declare.
755
        (initialize_inferiors): Declare.
756
        (add_thread): Adjust to use ptid_t.
757
        (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
758
        (add_process, remove_process, find_thread_pid): Declare.
759
        (find_inferior_id): Adjust to use ptid_t.
760
        (cont_thread, general_thread, step_thread): Change type to ptid_t.
761
        (multi_process): Declare.
762
        (push_event): Adjust to use ptid_t.
763
        (read_ptid, write_ptid): Declare.
764
        (prepare_resume_reply): Adjust to use ptid_t.
765
        (clear_symbol_cache): Declare.
766
        * inferiors.c (all_processes): New.
767
        (null_ptid, minus_one_ptid): New.
768
        (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
769
        (ptid_get_tid, ptid_equal, ptid_is_pid): New.
770
        (add_thread): Change unsigned long to ptid.  Remove gdb_id
771
        parameter.  Adjust.
772
        (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
773
        (gdb_id_to_thread): Rename to ...
774
        (find_thread_pid): ... this.  Change unsigned long to ptid.
775
        (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
776
        (loaded_dll, pull_pid_from_list): Adjust.
777
        (add_process, remove_process, find_process_pid)
778
        (get_thread_process, current_process, initialize_inferiors): New.
779
        * target.h (struct thread_resume) : Change type to ptid_t.
780
        (struct target_waitstatus) : Ditto.
781
        (struct target_ops) : Add `pid' argument.  Change
782
        return type to int.
783
        (struct target_ops) : Add `pid' argument.
784
        (struct target_ops) : Change pid's type to ptid_t.
785
        (struct target_ops) : Add `ptid' field.  Change return type
786
        to ptid.
787
        (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
788
        (mywait): Add `ptid' argument.  Change return type to ptid_t.
789
        (target_pid_to_str): Declare.
790
        * target.c (set_desired_inferior): Adjust to use ptids.
791
        (mywait): Add new `ptid' argument.  Adjust.
792
        (target_pid_to_str): New.
793
        * mem-break.h (free_all_breakpoints): Declare.
794
        * mem-break.c (breakpoints): Delelete.
795
        (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
796
        (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
797
        to use per-process breakpoint list.
798
        (free_all_breakpoints): New.
799
        * remote-utils.c (struct sym_cache) : Drop `const'.
800
        (symbol_cache, all_symbols_looked_up): Delete.
801
        (hexchars): New.
802
        (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
803
        read_ptid): New.
804
        (prepare_resume_reply): Change ptid argument's type from unsigned
805
        long to ptid_t.  Adjust.  Implement W;process and X;process.
806
        (free_sym_cache, clear_symbol_cache): New.
807
        (look_up_one_symbol): Adjust to per-process symbol cache.  *
808
        * server.c (cont_thread, general_thread, step_thread): Change type
809
        to ptid_t.
810
        (attached): Delete.
811
        (multi_process): New.
812
        (last_ptid): Change type to ptid_t.
813
        (struct vstop_notif) : Change type to ptid_t.
814
        (queue_stop_reply, push_event): Change `ptid' argument's type to
815
        ptid_t.
816
        (discard_queued_stop_replies): Add `pid' argument.
817
        (start_inferior): Adjust to use ptids.  Adjust to mywait interface
818
        changes.  Don't reference the `attached' global.
819
        (attach_inferior): Adjust to mywait interface changes.
820
        (handle_query): Adjust to use ptids.  Parse GDB's qSupported
821
        features.  Handle and report "multiprocess+".  Handle
822
        "qAttached:PID".
823
        (handle_v_cont): Adjust to use ptids.  Adjust to mywait interface
824
        changes.
825
        (handle_v_kill): New.
826
        (handle_v_stopped): Adjust to use target_pid_to_str.
827
        (handle_v_requests): Allow multiple attaches and runs when
828
        multiprocess extensions are in effect.  Handle "vKill".
829
        (myresume): Adjust to use ptids.
830
        (queue_stop_reply_callback): Add `arg' parameter.  Handle it.
831
        (handle_status): Adjust to discard_queued_stop_replies interface
832
        change.
833
        (first_thread_of, kill_inferior_callback)
834
        (detach_or_kill_inferior_callback, join_inferiors_callback): New.
835
        (main): Call initialize_inferiors.  Adjust to use ptids, killing
836
        and detaching from all inferiors.  Handle multiprocess packet
837
        variants.
838
        * linux-low.h: Include gdb_proc_service.h.
839
        (struct process_info_private): New.
840
        (struct linux_target_ops) : Use ptid_get_pid.
841
        : Use ptid_get_lwp.
842
        (get_lwp_thread): Adjust.
843
        (struct lwp_info): Add `dead' member.
844
        (find_lwp_pid): Declare.
845
        * linux-low.c (thread_db_active): Delete.
846
        (new_inferior): Adjust comment.
847
        (inferior_pid): Delete.
848
        (linux_add_process): New.
849
        (handle_extended_wait): Adjust.
850
        (add_lwp): Change unsigned long to ptid.
851
        (linux_create_inferior): Add process to processes table.  Adjust
852
        to use ptids.  Don't set new_inferior here.
853
        (linux_attach_lwp): Rename to ...
854
        (linux_attach_lwp_1): ... this.  Add `initial' argument.  Handle
855
        it.  Adjust to use ptids.
856
        (linux_attach_lwp): New.
857
        (linux_attach): Add process to processes table.  Don't set
858
        new_inferior here.
859
        (struct counter): New.
860
        (second_thread_of_pid_p, last_thread_of_process_p): New.
861
        (linux_kill_one_lwp): Add `args' parameter.  Handle it.  Adjust to
862
        multiple processes.
863
        (linux_kill): Add `pid' argument.  Handle it.  Adjust to multiple
864
        processes.  Remove process from process table.
865
        (linux_detach_one_lwp): Add `args' parameter.  Handle it.  Adjust
866
        to multiple processes.
867
        (any_thread_of): New.
868
        (linux_detach): Add `pid' argument, and handle it.  Remove process
869
        from processes table.
870
        (linux_join): Add `pid' argument.  Handle it.
871
        (linux_thread_alive): Change unsighed long argument to ptid_t.
872
        Consider dead lwps as not being alive.
873
        (status_pending_p): Rename `dummy' argument to `arg'.  Filter out
874
        threads we're not interested in.
875
        (same_lwp, find_lwp_pid): New.
876
        (linux_wait_for_lwp): Change `pid' argument's type from int to
877
        ptid_t.  Adjust.
878
        (linux_wait_for_event): Rename to ...
879
        (linux_wait_for_event_1): ... this.  Change `pid' argument's type
880
        from int to ptid_t.  Adjust.
881
        (linux_wait_for_event): New.
882
        (linux_wait_1): Add `ptid' argument.  Change return type to
883
        ptid_t.  Adjust.  Use last_thread_of_process_p.  Remove processes
884
        that exit from the process table.
885
        (linux_wait): Add `ptid' argument.  Change return type to ptid_t.
886
        Adjust.
887
        (mark_lwp_dead): New.
888
        (wait_for_sigstop): Adjust to use ptids.  If a process exits while
889
        stopping all threads, mark its main lwp as dead.
890
        (linux_set_resume_request, linux_resume_one_thread): Adjust to use
891
        ptids.
892
        (fetch_register, usr_store_inferior_registers)
893
        (regsets_fetch_inferior_registers)
894
        (regsets_store_inferior_registers, linux_read_memory)
895
        (linux_write_memory): Inline `inferior_pid'.
896
        (linux_look_up_symbols): Adjust to use per-process
897
        `thread_db_active'.
898
        (linux_request_interrupt): Adjust to use ptids.
899
        (linux_read_auxv): Inline `inferior_pid'.
900
        (initialize_low): Don't reference thread_db_active.
901
        * gdb_proc_service.h (struct ps_prochandle) : Remove.
902
        * proc-service.c (ps_lgetregs): Use find_lwp_pid.
903
        (ps_getpid): Return the pid of the current inferior.
904
        * thread-db.c (proc_handle, thread_agent): Delete.
905
        (thread_db_create_event, thread_db_enable_reporting): Adjust to
906
        per-process data.
907
        (find_one_thread): Change argument type to ptid_t.  Adjust to
908
        per-process data.
909
        (maybe_attach_thread): Adjust to per-process data and ptids.
910
        (thread_db_find_new_threads): Ditto.
911
        (thread_db_init): Ditto.
912
        * spu-low.c (spu_create_inferior, spu_attach): Add process to
913
        processes table.  Adjust to use ptids.
914
        (spu_kill, spu_detach): Adjust interface.  Remove process from
915
        processes table.
916
        (spu_join, spu_thread_alive): Adjust interface.
917
        (spu_wait): Adjust interface.  Remove process from processes
918
        table.  Adjust to use ptids.
919
        * win32-low.c (current_inferior_tid): Delete.
920
        (current_inferior_ptid): New.
921
        (debug_event_ptid): New.
922
        (thread_rec): Take a ptid.  Adjust.
923
        (child_add_thread): Add `pid' argument.  Adjust to use ptids.
924
        (child_delete_thread): Ditto.
925
        (do_initial_child_stuff): Add `attached' argument.  Add process to
926
        processes table.
927
        (child_fetch_inferior_registers, child_store_inferior_registers):
928
        Adjust.
929
        (win32_create_inferior): Pass 0 to do_initial_child_stuff.
930
        (win32_attach): Pass 1 to do_initial_child_stuff.
931
        (win32_kill): Adjust interface.  Remove process from processes
932
        table.
933
        (win32_detach): Ditto.
934
        (win32_join): Adjust interface.
935
        (win32_thread_alive): Take a ptid.
936
        (win32_resume): Adjust to use ptids.
937
        (get_child_debug_event): Ditto.
938
        (win32_wait): Adjust interface.  Remove exiting process from
939
        processes table.
940
 
941
2009-04-01  Pedro Alves  
942
 
943
        Non-stop mode support.
944
 
945
        * server.h (non_stop): Declare.
946
        (gdb_client_data, handler_func): Declare.
947
        (delete_file_handler, add_file_handler, start_event_loop):
948
        Declare.
949
        (handle_serial_event, handle_target_event, push_event)
950
        (putpkt_notif): Declare.
951
        * target.h (enum resume_kind): New.
952
        (struct thread_resume): Replace `step' field by `kind' field.
953
        (TARGET_WNOHANG): Define.
954
        (struct target_ops) : Add `options' argument.
955
        : New fields.
956
        (target_supports_non_stop, target_async): New.
957
        (start_non_stop): Declare.
958
        (mywait): Add `options' argument.
959
        * target.c (mywait): Add `options' argument.  Print child exit
960
        notifications here.
961
        (start_non_stop): New.
962
        * server.c (non_stop, own_buf, mem_buf): New globals.
963
        (struct vstop_notif): New.
964
        (notif_queue): New global.
965
        (queue_stop_reply, push_event, discard_queued_stop_replies)
966
        (send_next_stop_reply): New.
967
        (start_inferior): Adjust to use resume_kind.  Adjust to mywait
968
        interface changes.
969
        (attach_inferior): In non-stop mode, don't wait for the target
970
        here.
971
        (handle_general_set): Handle QNonStop.
972
        (handle_query): When handling qC, return the current general
973
        thread, instead of the first thread of the list.
974
        (handle_query): If the backend supports non-stop mode, include
975
        QNonStop+ in the qSupported query response.
976
        (handle_v_cont): Adjust to use resume_kind.  Handle resume_stop
977
        and non-stop mode.
978
        (handle_v_attach, handle_v_run): Handle non-stop mode.
979
        (handle_v_stopped): New.
980
        (handle_v_requests): Report support for vCont;t.  Handle vStopped.
981
        (myresume): Adjust to use resume_kind.  Handle non-stop.
982
        (queue_stop_reply_callback): New.
983
        (handle_status): Handle non-stop mode.
984
        (main): Clear non_stop flag on reconnection.  Use the event-loop.
985
        Refactor serial protocol handling from here ...
986
        (process_serial_event): ... to this new function.  When GDB
987
        selects any thread, select one here.  In non-stop mode, wait until
988
        GDB acks all pending events before exiting.
989
        (handle_serial_event, handle_target_event): New.
990
        * remote-utils.c (remote_open): Install remote_desc in the event
991
        loop.
992
        (remote_close): Remove remote_desc from the event loop.
993
        (putpkt_binary): Rename to...
994
        (putpkt_binary_1): ... this.  Add `is_notic' argument.  Handle it.
995
        (putpkt_binary): New as wrapper around putpkt_binary_1.
996
        (putpkt_notif): New.
997
        (prepare_resume_reply): In non-stop mode, don't change the
998
        general_thread.
999
        * event-loop.c: New.
1000
        * Makefile.in (OBJ): Add event-loop.o.
1001
        (event-loop.o): New rule.
1002
 
1003
        * linux-low.h (pid_of): Moved here.
1004
        (lwpid_of): New.
1005
        (get_lwp_thread): Use lwpid_of.
1006
        (struct lwp_info): Delete `lwpid' field.  Add `suspended' field.
1007
        * linux-low.c (pid_of): Delete.
1008
        (inferior_pid): Use lwpid_of.
1009
        (linux_event_pipe): New.
1010
        (target_is_async_p): New.
1011
        (delete_lwp): New.
1012
        (handle_extended_wait): Use lwpid_of.
1013
        (add_lwp): Don't set lwpid field.
1014
        (linux_attach_lwp): Adjust debug output.  Use lwpid_of.
1015
        (linux_kill_one_lwp): If killing a running lwp, stop it first.
1016
        Use lwpid_of.  Adjust to linux_wait_for_event interface changes.
1017
        (linux_detach_one_lwp): If detaching from a running lwp, stop it
1018
        first.  Adjust to linux_wait_for_event interface changes.  Use
1019
        lwpid_of.
1020
        (linux_detach): Don't delete the main lwp here.
1021
        (linux_join): Use my_waitpid.  Avoid signal_pid.  Use lwpid_of.
1022
        (status_pending_p): Don't consider explicitly suspended lwps.
1023
        (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
1024
        pointer.  Add OPTIONS argument.  Change return type to int.  Use
1025
        my_waitpid instead of sleeping.  Handle WNOHANG.  Use lwpid_of.
1026
        (linux_wait_for_event): Take an integer pid instead of a lwp_info
1027
        pointer.  Add status pointer argument.  Return a pid instead of a
1028
        status.  Use lwpid_of.  Adjust to linux_wait_for_lwp interface
1029
        changes.  In non-stop mode, don't switch to a random thread.
1030
        (linux_wait): Rename to...
1031
        (linux_wait_1): ... this.  Add target_options argument, and handle
1032
        it.  Adjust to use resume_kind.  Use lwpid_of.  In non-stop mode,
1033
        don't handle the continue thread.  Handle TARGET_WNOHANG.  Merge
1034
        clean exit and signal exit code.  Don't stop all threads in
1035
        non-stop mode.  In all-stop mode, only stop all threads when
1036
        reporting a stop to GDB.  Handle explicit thread stop requests.
1037
        (async_file_flush, async_file_mark): New.
1038
        (linux_wait): New.
1039
        (send_sigstop): Use lwpid_of.
1040
        (wait_for_sigstop): Use lwpid_of.  Adjust to linux_wait_for_event
1041
        interface changes.  In non-stop mode, don't switch to a random
1042
        thread.
1043
        (linux_resume_one_lwp): Use lwpid_of.
1044
        (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
1045
        (linux_resume_one_thread): ... this.  Handle resume_stop.  In
1046
        non-stop mode, don't look for pending flag in all threads.
1047
        (resume_status_pending_p): Don't consider explicitly suspended
1048
        threads.
1049
        (my_waitpid): Reimplement.  Emulate __WALL.
1050
        (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
1051
        Use lwpid_of.
1052
        (sigchld_handler, linux_supports_non_stop, linux_async)
1053
        (linux_start_non_stop): New.
1054
        (linux_target_ops): Register linux_supports_non_stop, linux_async
1055
        and linux_start_non_stop.
1056
        (initialize_low): Install SIGCHLD handler.
1057
        * thread-db.c (thread_db_create_event, find_one_thread)
1058
        (thread_db_get_tls_address): Use lwpid_of.
1059
        * win32-low.c (win32_detach): Adjust to use resume_kind.
1060
        (win32_wait): Add `options' argument.
1061
        * spu-low.c (spu_resume): Adjust to use resume_kind.
1062
        (spu_wait): Add `options' argument.
1063
 
1064
2009-04-01  Pedro Alves  
1065
 
1066
        Decouple target code from remote protocol.
1067
 
1068
        * target.h (enum target_waitkind): New.
1069
        (struct target_waitstatus): New.
1070
        (struct target_ops) : Return an unsigned long.  Take a
1071
        target_waitstatus pointer instead of a char pointer.
1072
        (mywait): Likewise.
1073
        * target.c (mywait): Change prototype to return an unsigned long.
1074
        Take a target_waitstatus pointer instead of a char pointer.  Adjust.
1075
        * server.h (thread_from_wait, old_thread_from_wait): Delete
1076
        declarations.
1077
        (prepare_resume_reply): Change prototype to take a
1078
        target_waitstatus.
1079
        * server.c (thread_from_wait, old_thread_from_wait): Delete.
1080
        (last_status, last_ptid): New.
1081
        (start_inferior): Remove "statusptr" argument.  Adjust.  Return a
1082
        pid instead of a signal.
1083
        (attach_inferior): Remove "status" and "signal" parameters.
1084
        Adjust.
1085
        (handle_query): For qGetTLSAddr, parse the thread id with strtol,
1086
        not as an address.
1087
        (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
1088
        (handle_v_requests, myresume): Remove "status" and "signal"
1089
        parameters.  Adjust.
1090
        (handle_status): New.
1091
        (main): Delete local `status'.  Adjust.
1092
        * remote-utils.c: Include target.h.
1093
        (prepare_resume_reply): Change prototype to take a
1094
        target_waitstatus.  Adjust.
1095
 
1096
        * linux-low.c (linux_wait): Adjust to new target_ops->wait
1097
        interface.
1098
        * spu-low.c (spu_wait): Adjust.
1099
        * win32-low.c (enum target_waitkind, struct target_waitstatus):
1100
        Delete.
1101
        (win32_wait): Adjust.
1102
 
1103
2009-04-01  Pedro Alves  
1104
 
1105
        * target.h (struct thread_resume): Delete leave_stopped member.
1106
        (struct target_ops): Add a `n' argument to the `resume' callback.
1107
        * server.c (start_inferior): Adjust.
1108
        (handle_v_cont, myresume): Adjust.
1109
        * linux-low.c (check_removed_breakpoint): Adjust to resume
1110
        interface change, and to removed leave_stopped field.
1111
        (resume_ptr): Delete.
1112
        (struct thread_resume_array): New.
1113
        (linux_set_resume_request): Add new `arg' parameter.  Adjust to
1114
        resume interface change.
1115
        (linux_continue_one_thread, linux_queue_one_thread)
1116
        (resume_status_pending_p): Check if the resume field is NULL
1117
        instead of checking the leave_stopped member.
1118
        (linux_resume): Adjust to the target resume interface change.
1119
        * spu-low.c (spu_resume): Adjust to the target resume interface
1120
        change.
1121
        * win32-low.c (win32_detach, win32_resume): Ditto.
1122
 
1123
2009-04-01  Pedro Alves  
1124
 
1125
        * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
1126
        flag.
1127
        (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
1128
        pending.
1129
        (linux_continue_one_thread): Only preserve the stepping flag if
1130
        there's a pending breakpoint.
1131
 
1132
2009-03-31  Pedro Alves  
1133
 
1134
        * server.c (main): After the inferior having exited, call
1135
        remote_close before exiting gdbserver.
1136
 
1137
2009-03-25  Thiago Jung Bauermann  
1138
 
1139
        Fix size of FPSCR in Power 7 processors.
1140
        * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
1141
        (PPC_FEATURE_HAS_DFP): New #define.
1142
        (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
1143
        size of the FPSCR.
1144
 
1145
2009-03-23  Pedro Alves  
1146
 
1147
        * server.c (handle_query) Whitespace and formatting.
1148
 
1149
2009-03-22  Pedro Alves  
1150
 
1151
        * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
1152
        linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
1153
        linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
1154
        linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
1155
        regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
1156
        thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
1157
        Makefile.in, configure.ac: Fix whitespace throughout.
1158
        * configure: Regenerate.
1159
 
1160
2009-03-22  Pedro Alves  
1161
 
1162
        * inferiors.c (find_inferior): Make it safe for the callback
1163
        function to delete the currently iterated inferior.
1164
 
1165
2009-03-22  Pedro Alves  
1166
 
1167
        * Makefile.in (linuw_low_h): Move higher.
1168
        (thread-db.o): Depend on $(linux_low_h).
1169
 
1170
2009-03-17  Pedro Alves  
1171
 
1172
        Rename "process" to "lwp" throughout.
1173
 
1174
        * linux-low.c (all_processes): Rename to...
1175
        (all_lwps): ... this.
1176
        (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
1177
        (add_process): Rename to ...
1178
        (add_lwp): ... this.  Adjust.
1179
        (linux_create_inferior): Adjust.
1180
        (linux_attach_lwp): Adjust.
1181
        (linux_attach): Adjust.
1182
        (linux_kill_one_process): Rename to ...
1183
        (linux_kill_one_lwp): ... this.  Adjust.
1184
        (linux_kill): Adjust.
1185
        (linux_detach_one_process): Rename to ...
1186
        (linux_detach_one_lwp): ... this.  Adjust.
1187
        (linux_detach): Adjust.
1188
        (check_removed_breakpoint): Adjust.
1189
        (status_pending_p): Adjust.
1190
        (linux_wait_for_process): Rename to ...
1191
        (linux_wait_for_lwp): ... this.  Adjust.
1192
        (linux_wait_for_event): Adjust.
1193
        (send_sigstop): Adjust.
1194
        (wait_for_sigstop): Adjust.
1195
        (stop_all_processes): Rename to ...
1196
        (stop_all_lwps): ... this.
1197
        (linux_resume_one_process): Rename to ...
1198
        (linux_resume_one_lwp): ... this.  Adjust.
1199
        (linux_set_resume_request, linux_continue_one_thread)
1200
        (linux_queue_one_thread, resume_status_pending_p)
1201
        (usr_store_inferior_registers, regsets_store_inferior_registers)
1202
        (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
1203
        Adjust.
1204
        * linux-low.h (get_process): Rename to ...
1205
        (get_lwp): ... this.  Adjust.
1206
        (get_thread_process): Rename to ...
1207
        (get_thread_lwp): ... this.  Adjust.
1208
        (get_process_thread): Rename to ...
1209
        (get_lwp_thread): ... this.  Adjust.
1210
        (struct process_info): Rename to ...
1211
        (struct lwp_info): ... this.
1212
        (all_processes): Rename to ...
1213
        (all_lwps): ... this.
1214
        * proc-service.c (ps_lgetregs): Adjust.
1215
        * thread-db.c (thread_db_create_event, find_one_thread)
1216
        (maybe_attach_thread, thread_db_get_tls_address): Adjust.
1217
 
1218
2009-03-14  Pedro Alves  
1219
 
1220
        * server.c (handle_query): Handle "qAttached".
1221
 
1222
2009-03-13  Nathan Sidwell  
1223
 
1224
        * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
1225
        GPLv3, update license URL.
1226
 
1227
2009-03-01  Doug Evans  
1228
 
1229
        * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
1230
        (server_h): Add gdb_signals.h.
1231
        (signals.o): Update.
1232
        * server.h (target_signal_from_host,target_signal_to_host_p)
1233
        (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
1234
 
1235
2009-02-14  Pierre Muller  
1236
 
1237
        * remote-utils.c (getpkt): Also generate remote-debug
1238
        information if noack_mode is set.
1239
 
1240
2009-02-06  Pedro Alves  
1241
 
1242
        * server.c (handle_query): Report qXfer:siginfo:read and
1243
        qXfer:siginfo:write as supported and handle them.
1244
        * target.h (struct target_ops) : New field.
1245
        * linux-low.c (linux_xfer_siginfo): New.
1246
        (linux_target_ops): Set it.
1247
 
1248
2009-01-26  Pedro Alves  
1249
 
1250
        * server.c (gdbserver_usage): Mention --remote-debug.
1251
        (main): Accept '--remote-debug' switch.
1252
 
1253
2009-01-18  Doug Evans  
1254
 
1255
        * regcache.c (new_register_cache): No need to check result of xcalloc.
1256
        * server.c (handle_search_memory): Back out calls to xmalloc,
1257
        result is checked and error is returned to user upon failure.
1258
        (handle_query): Ditto.  Add more checks for result of malloc.
1259
        (handle_v_cont): Check result of malloc, report error back to
1260
        user upon failure.
1261
        (handle_v_run): Ditto.  Call freeargv.
1262
        * server.h (freeargv): Declare.
1263
        * utils.c (freeargv): New fn.
1264
 
1265
2009-01-15  Doug Evans  
1266
 
1267
        * gdbreplay.c (perror_with_name): Make arg const char *.
1268
        * server.h (target_signal_to_name): Make return type const char *.
1269
        * thread-db.c (thread_db_err_str): Make return type const char *.
1270
        * utils.c (perror_with_name): Make arg const char *.
1271
 
1272
2009-01-14  Pedro Alves  
1273
 
1274
        * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
1275
        when handling a EXIT_PROCESS_DEBUG_EVENT.
1276
 
1277
2009-01-06  Joel Brobecker  
1278
 
1279
        * gdbreplay.c (gdbreplay_version): Update copyright year.
1280
        * server.c (gdbserver_version): Likewise.
1281
 
1282
2009-01-05  Doug Evans  
1283
 
1284
        * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
1285
        (handle_extended_wait): Improve comment.
1286
 
1287
2008-12-13  Doug Evans  
1288
 
1289
        * utils.c (xmalloc,xcalloc,xstrdup): New fns.
1290
        * server.h (ATTR_MALLOC): New macro.
1291
        (xmalloc,xcalloc,xstrdup): Declare.
1292
        * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
1293
        * inferiors.c: Ditto.
1294
        * linux-low.c: Ditto.
1295
        * mem-break.c: Ditto.
1296
        * regcache.c: Ditto.
1297
        * remote-utils.c: Ditto.
1298
        * server.c: Ditto.
1299
        * target.c: Ditto.
1300
        * win32-low.c: Ditto.
1301
 
1302
2008-12-12  Doug Evans  
1303
 
1304
        * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
1305
        in debugging printf.
1306
 
1307
        * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
1308
 
1309
2008-12-09  Doug Evans  
1310
 
1311
        * linux-low.h (struct process_info): Delete member tid, unused.
1312
        * thread-db.c (find_one_thread): Update.
1313
        (maybe_attach_thread): Update.
1314
 
1315
2008-12-02  Pedro Alves  
1316
 
1317
        * target.h (struct target_ops): Add qxfer_osdata member.
1318
        * linux-low.c: Include ctype.h and pwd.h and sys/types.h
1319
        and dirent.h.
1320
        (linux_qxfer_osdata): New functions.
1321
        (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
1322
        callback.
1323
        * server.c (handle_query): Handle "qXfer:osdata:read:".
1324
        * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
1325
        (buffer_xml_printf): New functions.
1326
        * server.h (struct buffer): New.
1327
        (buffer_grow_str, buffer_grow_str0): New macros.
1328
        (buffer_grow, buffer_free, buffer_init, buffer_finish)
1329
        (buffer_xml_printf): Declare.
1330
 
1331
2008-11-24  Doug Evans  
1332
 
1333
        * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
1334
 
1335
2008-11-24  Daniel Jacobowitz  
1336
 
1337
        * server.c (handle_v_run): Always use the supplied argument list.
1338
 
1339
2008-11-19  Bob Wilson  
1340
 
1341
        * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
1342
        (xtensa_regmap_table): Add entry for scompare1.
1343
 
1344
2008-11-18  Thiago Jung Bauermann  
1345
 
1346
        * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
1347
        powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
1348
        powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
1349
        powerpc-isa205-64l.o, powerpc-isa205-64l.c,
1350
        powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
1351
        powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
1352
        * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
1353
        XML target descriptions.
1354
        * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
1355
        when inferior is running on an ISA 2.05 or later processor.  Add
1356
        special case to return offset for full 64-bit slot of FPSCR when
1357
        in 32-bits.
1358
 
1359
2008-11-14  Daniel Gutson  
1360
 
1361
        * Makefile.in (SFILES, clean): Added sparc64 files.
1362
        (reg-sparc64.o, reg-sparc64.c): New.
1363
        * configure.srv (sparc*-*-linux*): New configuration.
1364
        * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
1365
        syscall arguments for SPARC.
1366
        (regsets_store_inferior_registers): Likewise.
1367
        * linux-sparc-low.c: New file.
1368
 
1369
2008-10-21  Doug Evans  
1370
 
1371
        * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
1372
        (READLINE_DIR,READLINE_DEP): Delete.
1373
        (INTERNAL_CFLAGS): Update.
1374
        (LINTFLAGS): Update.
1375
 
1376
2008-10-10  Pedro Alves  
1377
 
1378
        * server.c (handle_v_run): If GDB didn't specify an argv, use the
1379
        whole argv from the last run, not just argv[0].
1380
 
1381
2008-09-08  Pedro Alves  
1382
 
1383
        * regcache.c (new_register_cache): Return NULL if the register
1384
        cache size isn't known yet.
1385
        (free_register_cache): Avoid dereferencing a NULL regcache.
1386
 
1387
2008-09-04  Daniel Jacobowitz  
1388
 
1389
        * configure.srv: Merge MIPS and MIPS64.
1390
 
1391
2008-08-24  Maciej W. Rozycki  
1392
 
1393
        * Makefile.in (uninstall): Apply $(EXEEXT) too.
1394
 
1395
2008-08-18  Luis Machado  
1396
 
1397
        * Makefile.in: Add required vsx dependencies.
1398
 
1399
        * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
1400
        Declare init_registers_powerpc_vsx32l.
1401
        Declare init_registers_powerpc_vsx64l.
1402
        Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
1403
        (ppc_arch_setup): Check for VSX in hwcap.
1404
        (ppc_fill_vsxregset): New function.
1405
        (ppc_store_vsxregset): New function.
1406
        Add new VSX entry in regset_info target_regsets.
1407
 
1408
        * configure.srv: Add new VSX dependencies.
1409
 
1410
2008-08-12  Pedro Alves  
1411
 
1412
        * remote-utils.c (noack_mode, transport_is_reliable): New globals.
1413
        (remote_open): Set or clear transport_is_reliable.
1414
        (putpkt_binary): Don't expect acks in noack mode.
1415
        (getpkt): Don't send ack/nac in noack mode.
1416
        * server.c (handle_general_set): Handle QStartNoAckMode.
1417
        (handle_query): If connected by tcp pass QStartNoAckMode+ in
1418
        qSupported.
1419
        (main): Reset noack_mode on every connection.
1420
        * server.h (noack_mode): Declare.
1421
 
1422
2008-08-07  Ralf Wildenhues  
1423
 
1424
        * Makefile.in (GDBREPLAY_OBS): New variable.
1425
        (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
1426
 
1427
2008-08-05  Ulrich Weigand  
1428
            Daniel Jacobowitz  
1429
 
1430
        * linux-low.c (linux_resume_one_process): Ignore ESRCH.
1431
        (usr_store_inferior_registers): Likewise.
1432
        (regsets_store_inferior_registers): Likewise.
1433
 
1434
2008-07-31  Rolf Jansen  
1435
            Pedro Alves  
1436
 
1437
        * configure.ac: Check for memmem declaration.
1438
        * server.c [HAVE_MALLOC_H]: Include malloc.h.
1439
        (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
1440
        (disable_packet_qfThreadInfo): Unconditionally compile.
1441
        * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
1442
        * configure, config.in: Regenerate.
1443
 
1444
2008-07-28  Doug Kwan  
1445
 
1446
        * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
1447
        (linux_write_memory): Remove declaration of errno.
1448
 
1449
2008-07-12  Ulrich Weigand  
1450
 
1451
        * linux-low.c (handle_extended_wait): Do not use "status"
1452
        variable uninitialized.
1453
 
1454
2008-07-07  Pedro Alves  
1455
 
1456
        * server.c (handle_v_attach): Inhibit reporting dll changes.
1457
 
1458
2008-06-27  Pedro Alves  
1459
 
1460
        * remote-utils.c (prepare_resume_reply): If requested, don't
1461
        output "thread:TID" in the T stop reply.
1462
 
1463
        * server.c (disable_packet_vCont, disable_packet_Tthread)
1464
        (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
1465
        (handle_query): If requested, disable support for qC, qfThreadInfo
1466
        and qsThreadInfo.
1467
        (handle_v_requests): If requested, disable support for vCont.
1468
        (gdbserver_show_disableable): New.
1469
        (main): Handle --disable-packet and --disable-packet=LIST.
1470
 
1471
        * server.h (disable_packet_vCont, disable_packet_Tthread)
1472
        (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
1473
 
1474
2008-06-20  Carlos O'Donell  
1475
 
1476
        * server.c (gdbserver_usage): Mention --version.
1477
 
1478
2008-06-06  Daniel Jacobowitz  
1479
 
1480
        * Makefile.in (gdbreplay.o): New rule.
1481
 
1482
2008-06-06  Joseph Myers  
1483
 
1484
        * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
1485
        message, not gdbserver.
1486
 
1487
2008-06-05  Vladimir Prus  
1488
            Nathan Sidwell  
1489
            Joseph Myers  
1490
 
1491
        * acinclude.m4: Include ../../config/acx.m4.
1492
        * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
1493
        * configure, config.in: Regenerate.
1494
        * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
1495
        * server.c (gdbserver_version): Print PKGVERSION.
1496
        (gdbsrever_usage): Add stream parameter.  Print REPORT_BUGS_TO.
1497
        (main): Adjust gdbserver_usage calls.
1498
        * gdbreplay.c (version, host_name): Add declarations.
1499
        (gdbreplay_version, gdbreplay_usage): New.
1500
        (main): Accept --version and --help options.
1501
 
1502
2008-06-04  Daniel Jacobowitz  
1503
 
1504
        * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
1505
        (arm_breakpoint_at): Handle Thumb.
1506
        (the_low_target): Add comment.
1507
 
1508
2008-05-29  Ulrich Weigand  
1509
 
1510
        * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
1511
 
1512
2008-05-09  Doug Evans  
1513
 
1514
        * server.h (decode_search_memory_packet): Declare.
1515
        * remote-utils.c (decode_search_memory_packet): New fn.
1516
        * server.c (handle_search_memory_1): New fn.
1517
        (handle_search_memory): New fn.
1518
        (handle_query): Process qSearch:memory packets.
1519
 
1520
2008-05-08  Ulrich Weigand  
1521
 
1522
        * regcache.c (registers_length): Remove.
1523
        (set_register_cache): Verify that PBUFSIZ is large enough to hold a
1524
        full register packet.
1525
        * regcache.h (registers_length): Remove prototype.
1526
        * server.h (PBUFSIZ): Define to 16384.
1527
 
1528
2008-05-03  Ulrich Weigand  
1529
 
1530
        * configure.srv (powerpc*-*-linux*): Set srv_regobj to
1531
        powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
1532
        powerpc-64l.o, and powerpc-altivec64l.o.
1533
        Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
1534
        rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
1535
        rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
1536
        rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
1537
        rs6000/power-linux.xml, and rs6000/power64-linux.xml
1538
        to srv_xmlfiles.
1539
 
1540
        * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
1541
        (powerpc-32l.o, powerpc-32l.c): ... these new rules.
1542
        (powerpc-32.o, powerpc-32.c): Remove, replace by ...
1543
        (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
1544
        (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
1545
        (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
1546
        (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
1547
        (powerpc-64l.o, powerpc-64l.c): ... these new rules.
1548
        (powerpc-64.o, powerpc-64.c): Remove, replace by ...
1549
        (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
1550
        (clean): Update.
1551
 
1552
        * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
1553
        (init_registers_powerpc_32l): ... this new prototype.
1554
        (init_registers_powerpc_32): Remove, replace by ...
1555
        (init_registers_powerpc_altivec32l): ... this new prototype.
1556
        (init_registers_powerpc_e500): Remove, replace by ...
1557
        (init_registers_powerpc_e500l): ... this new prototype.
1558
        (init_registers_ppc64): Remove, replace by ...
1559
        (init_registers_powerpc_64l): ... this new prototype.
1560
        (init_registers_powerpc_64): Remove, replace by ...
1561
        (init_registers_powerpc_altivec64l): ... this new prototype.
1562
        (ppc_num_regs): Set to 73.
1563
        (PT_ORIG_R3, PT_TRAP): Define if necessary.
1564
        (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
1565
        (ppc_cannot_store_register): Handle orig_r3 and trap.
1566
        (ppc_arch_setup): Update init_registers_... calls.
1567
        (ppc_fill_gregset): Handle orig_r3 and trap.
1568
 
1569
        * inferiors.c (clear_inferiors): Reset current_inferior.
1570
 
1571
2008-04-23  Paolo Bonzini  
1572
 
1573
        * acinclude.m4: Add override.m4.
1574
        * configure: Regenerate.
1575
 
1576
2008-04-21  Ulrich Weigand  
1577
 
1578
        * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
1579
        initial call to init_register_ppc64.
1580
 
1581
2008-04-21  Ulrich Weigand  
1582
 
1583
        * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into single
1584
        powerpc*-*-linux* case.
1585
        (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
1586
 
1587
2008-04-17  Ulrich Weigand  
1588
 
1589
        * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
1590
        srv_regobj.  Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
1591
        from reg_xmlfiles.
1592
        * linux-ppc-low.c: Include .
1593
        (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
1594
        (ppc_hwcap): New global variable.
1595
        (ppc_regmap): Remove __SPE__ #ifdef sections.
1596
        (ppc_regmap_e500): New global variable.
1597
        (ppc_cannot_store_register): Update __SPE__ special case.
1598
        (ppc_get_hwcap): New function.
1599
        (ppc_arch_setup): Use it to determine whether inferior supports
1600
        AltiVec or SPE registers.  Set the_low_target.regmap if appropriate.
1601
        (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
1602
        Do not access registers if target does not support AltiVec.
1603
        (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
1604
        Do not access registers if target does not support SPE.
1605
        (target_regsets): Unconditionally include AltiVec and SPE regsets.
1606
 
1607
2008-04-17  Daniel Jacobowitz  
1608
 
1609
        * linux-low.c (disabled_regsets, num_regsets): New.
1610
        (use_regsets_p): Delete.
1611
        (linux_wait_for_process): Clear disabled_regsets.
1612
        (regsets_fetch_inferior_registers): Check and set it.
1613
        (regsets_store_inferior_registers): Likewise.
1614
        (linux_fetch_registers, linux_store_registers): Do not use
1615
        use_regsets_p.
1616
        (initialize_low): Allocate disabled_regsets.
1617
 
1618
2008-04-14  Daniel Jacobowitz  
1619
 
1620
        * Makefile.in (LIBOBJS): New.
1621
        (OBS): Use LIBOBJS.
1622
        (memmem.o): New rule.
1623
        * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
1624
        * configure: Regenerated.
1625
 
1626
2008-04-04  Ulrich Weigand  
1627
 
1628
        * server.c (handle_query): Never return "unsupported" for
1629
        qXfer:features:read queries.
1630
 
1631
2008-03-27  Ulrich Weigand  
1632
 
1633
        * server.c (get_features_xml): Fix inverted condition.
1634
        (handle_query): Always support qXfer:feature:read.
1635
 
1636
2008-03-10  Daniel Jacobowitz  
1637
 
1638
        * server.c (wrapper_argv): New.
1639
        (start_inferior): Handle wrapper_argv.  If set, expect an extra
1640
        trap.
1641
        (gdbserver_usage): Document --wrapper.
1642
        (main): Parse --wrapper.
1643
 
1644
2008-02-28  Ulrich Weigand  
1645
 
1646
        * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
1647
        powerpc-*-linux* to srv_regobj and reg_xmlfiles.
1648
        * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
1649
        (ppc_set_pc): Likewise.
1650
        (ppc_arch_setup): New function.
1651
        (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
1652
        of collect_register.
1653
        (the_low_target): Use ppc_arch_setup as arch_setup initializer.
1654
 
1655
2008-02-28  Ulrich Weigand  
1656
 
1657
        * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
1658
        instead of linux-ppc64-low.o.
1659
        * linux-ppc64-low.c: Remove file.
1660
        * Makefile.in (SFILES): Remove linux-ppc64-low.c.
1661
        (linux-ppc64-low.o): Remove rule.
1662
 
1663
        * linux-ppc-low.c (init_registers_ppc64): Add prototype.
1664
        (init_registers_powerpc_64): Likewise.
1665
        (ppc_regmap): Conditionally define depending on __powerpc64__.
1666
        (ppc_cannot_store_register): Do not special-case "fpscr" when
1667
        compiled on __powerpc64__.
1668
        (ppc_collect_ptrace_register): New function.
1669
        (ppc_supply_ptrace_register): New function.
1670
        (ppc_breakpoint): Change type to "unsigned int".
1671
        (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
1672
        (the_low_target): Conditionally provide initializers for the
1673
        arch_setup member depending on __powerpc64__.  Install
1674
        collect_ptrace_register and supply_ptrace_register members.
1675
 
1676
2008-02-28  Ulrich Weigand  
1677
 
1678
        * regcache.h (gdbserver_xmltarget): Add extern declaration.
1679
        * server.c (gdbserver_xmltarget): Define.
1680
        (get_features_xml): Use it to replace "target.xml" and arch_string.
1681
 
1682
        * configure.srv: Remove srv_xmltarget.  Add XML files that were
1683
        mentioned there to srv_xmlfiles instead.  Remove conditional tests
1684
        on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
1685
        srv_xmlfiles and srv_regobj to include all possible choices.
1686
        * configure.ac (srv_xmltarget): Remove.
1687
        (srv_xmlfiles): Do not add "target.xml".
1688
        (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
1689
        checks for supplementary target information.
1690
        * configure: Regenerate.
1691
        * Makefile.in (XML_TARGET): Remove.
1692
        (target.xml): Remove rule.
1693
        (clean): Do not clean up target.xml.
1694
        (.PRECIOUS): Do not mention target.xml.
1695
 
1696
        * target.h (struct target_ops): Remove arch_string member.
1697
        * linux-low.c (linux_arch_string): Remove.
1698
        (linux_target_ops): Remove arch_string initializer.
1699
        * linux-low.h (struct linux_target_ops): Remove arch_string member.
1700
        * linux-i386-low.c (the_low_target): Remove arch_string initializer.
1701
        * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
1702
        * spu-low.c (spu_arch_string): Remove.
1703
        (spu_target_ops): Remove arch_string initializer.
1704
        * win32-low.c (win32_arch_string): Remove.
1705
        (win32_target_ops): Remove arch_string initializer.
1706
        * win32-low.h (struct win32_target_ops): Remove arch_string member.
1707
        * win32-arm-low.c (the_low_target): Remove arch_string initializer.
1708
        * win32-i368-low.c (the_low_target): Remove arch_string initializer.
1709
 
1710
2008-02-27  Ulrich Weigand  
1711
 
1712
        * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
1713
        by collect_ptrace_register and supply_ptrace_register hooks.
1714
        * linux-low.c (fetch_register): Use supply_ptrace_register callback
1715
        instead of checking for the_low_target.left_pad_xfer.
1716
        (usr_store_inferior_registers): Use collect_ptrace_register callback
1717
        instead of checking for the_low_target.left_pad_xfer.
1718
 
1719
        * linux-s390-low.c (s390_collect_ptrace_register): New function.
1720
        (s390_supply_ptrace_register): Likewise.
1721
        (s390_fill_gregset): Call s390_collect_ptrace_register.
1722
        (the_low_target): Update.
1723
 
1724
        * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
1725
        (ppc_supply_ptrace_register): Likewise.
1726
        (the_low_target): Update.
1727
 
1728
        * linux-i386-low.c (the_low_target): Update.
1729
        * linux-x86-64-low.c (the_low_target): Update.
1730
 
1731
2008-02-27  Ulrich Weigand  
1732
 
1733
        * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
1734
        reg-s390.o and reg-s390x.o.
1735
 
1736
        * linux-low.c (new_inferior): New global variable.
1737
        (linux_create_inferior, linux_attach): Set it.
1738
        (linux_wait_for_process): Call the_low_target.arch_setup after the
1739
        target has stopped for the first time.
1740
        (initialize_low): Do not call the_low_target.arch_setup.
1741
 
1742
        * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
1743
        (s390_set_pc): Likewise.
1744
        (s390_arch_setup): New function.
1745
        (the_low_target): Use s390_arch_setup as arch_setup routine.
1746
 
1747
        * regcache.c (realloc_register_cache): New function.
1748
        (set_register_cache): Call it for each existing regcache.
1749
 
1750
2008-02-27  Ulrich Weigand  
1751
 
1752
        * server.h (init_registers): Remove prototype.
1753
 
1754
        * linux-low.h (struct linux_target_ops): Add arch_setup field.
1755
        * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
1756
        instead of init_registers ().
1757
        * linux-arm-low.c (init_registers_arm): Add prototype.
1758
        (init_registers_arm_with_iwmmxt): Likewise.
1759
        (the_low_target): Add initializer for arch_setup field.
1760
        * linux-cris-low.c (init_registers_cris): Add prototype.
1761
        (the_low_target): Add initializer for arch_setup field.
1762
        * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
1763
        (the_low_target): Add initializer for arch_setup field.
1764
        * linux-i386-low.c (init_registers_i386_linux): Add prototype.
1765
        (the_low_target): Add initializer for arch_setup field.
1766
        * linux-ia64-low.c (init_registers_ia64): Add prototype.
1767
        (the_low_target): Add initializer for arch_setup field.
1768
        * linux-m32r-low.c (init_registers_m32r): Add prototype.
1769
        (the_low_target): Add initializer for arch_setup field.
1770
        * linux-m68k-low.c (init_registers_m68k): Add prototype.
1771
        (the_low_target): Add initializer for arch_setup field.
1772
        * linux-mips-low.c (init_registers_mips_linux): Add prototype.
1773
        (init_registers_mips64_linux): Likewise.
1774
        (the_low_target): Add initializer for arch_setup field.
1775
        * linux-ppc-low.c (init_registers_ppc): Add prototype.
1776
        (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
1777
        (the_low_target): Add initializer for arch_setup field.
1778
        * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
1779
        (init_registers_powerpc_64): Likewise.
1780
        (the_low_target): Add initializer for arch_setup field.
1781
        * linux-s390-low.c (init_registers_s390): Add prototype.
1782
        (init_registers_s390x): Likewise.
1783
        (the_low_target): Add initializer for arch_setup field.
1784
        * linux-sh-low.c (init_registers_sh): Add prototype.
1785
        (the_low_target): Add initializer for arch_setup field.
1786
        * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
1787
        (the_low_target): Add initializer for arch_setup field.
1788
        * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
1789
        (the_low_target): Add initializer for arch_setup field.
1790
 
1791
        * win32-low.h (struct win32_target_ops): Add arch_setup field.
1792
        * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
1793
        instead of init_registers ().
1794
        * win32-arm-low.c (init_registers_arm): Add prototype.
1795
        (the_low_target): Add initializer for arch_setup field.
1796
        * win32-i386-low.c (init_registers_i386): Add prototype.
1797
        (the_low_target): Add initializer for arch_setup field.
1798
 
1799
        * spu-low.c (init_registers_spu): Add prototype.
1800
        (initialize_low): Call initialie_registers_spu () instead of
1801
        initialize_registers ().
1802
 
1803
2008-02-19  Pedro Alves  
1804
 
1805
        * server.c (handle_v_requests): When handling the vRun and vAttach
1806
        packets, if already debugging a process, don't kill it.  Return an
1807
        error instead.
1808
 
1809
2008-02-17  Daniel Jacobowitz  
1810
 
1811
        * server.c (handle_query): Correct length check.
1812
 
1813
2008-02-14  Pedro Alves  
1814
 
1815
        * win32-low.c (do_initial_child_stuff): Add process handle
1816
        parameter.  Set current_process_handle and current_process_id from the
1817
        parameters. Clear globals.
1818
        (win32_create_inferior): Don't set current_process_handle and
1819
        current_process_id here.  Instead pass them on the call to
1820
        do_initial_child_stuff.
1821
        (win32_attach): Likewise.
1822
        (win32_clear_inferiors): New.
1823
        (win32_kill): Don't close the current process handle or the
1824
        current thread handle here.  Instead call win32_clear_inferiors.
1825
        (win32_detach): Don't open a new handle to the process.  Call
1826
        win32_clear_inferiors.
1827
        (win32_join): Don't rely on current_process_handle; open a new
1828
        handle using the process id.
1829
        (win32_wait): Call win32_clear_inferiors when the inferior process
1830
        has exited.
1831
 
1832
2008-02-14  Daniel Jacobowitz  
1833
 
1834
        * server.c (monitor_show_help): Add "exit".
1835
 
1836
2008-02-11  Maxim Grigoriev  
1837
 
1838
        * Makefile.in (SFILES): Add linux-xtensa-low.c.
1839
        (clean): Add reg-xtensa.c.
1840
        (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
1841
        * configure.srv (xtensa*-*-linux*) New target.
1842
        * linux-xtensa-low.c: New.
1843
        * xtensa-xtregs.c: New.
1844
 
1845
2008-02-01  Pedro Alves  
1846
 
1847
        * hostio.c: Don't include errno.h.
1848
        (errno_to_fileio_errno): Move to hostio-errno.
1849
        * hostio.c: (hostio_error): Remove the error parameter.  Defer the
1850
        error number outputting to the target->hostio_last_error callback.
1851
        (hostio_packet_error): Use FILEIO_EINVAL directly.
1852
        (handle_open, handle_pread, hostio_error, handle_unlink): Update
1853
        calls to hostio_error.
1854
        * hostio-errno.c: New.
1855
        * server.h (hostio_last_error_from_errno): Declare.
1856
        * target.h (target_ops): Add hostio_last_error member.
1857
        * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
1858
        as hostio_last_error handler.
1859
        * spu-low.c (spu_target_ops): Likewise.
1860
        * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
1861
        (wince_hostio_last_error): New functions.
1862
        (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
1863
        as hostio_last_error handler.
1864
        (win32_target_ops) [!_WIN32_WCE]: Register
1865
        hostio_last_error_from_errno as hostio_last_error handler.
1866
        * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
1867
        (hostio-errno.o): New rule.
1868
        * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
1869
        * configure.srv (srv_hostio_err_objs): New variable.  Default to
1870
        hostio-errno.o.
1871
        (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
1872
        * configure: Regenerate.
1873
 
1874
2008-01-29  Daniel Jacobowitz  
1875
 
1876
        * linux-low.c (linux_attach_lwp): Do not _exit after errors.
1877
        (linux_kill, linux_detach): Clean up the process list.
1878
        * remote-utils.c (remote_open): Improve port number parsing.
1879
        (putpkt_binary, input_interrupt): Only send interrupts if the target
1880
        is running.
1881
        * server.c (extended_protocol): Make static.
1882
        (attached): Define earlier.
1883
        (exit_requested, response_needed, program_argv): New variables.
1884
        (target_running): New.
1885
        (start_inferior): Clear attached here.
1886
        (attach_inferior): Set attached here.
1887
        (require_running): Define.
1888
        (handle_query): Use require_running and target_running.  Implement
1889
        "monitor exit".
1890
        (handle_v_attach, handle_v_run): New.
1891
        (handle_v_requests): Use require_running.  Handle vAttach and vRun.
1892
        (gdbserver_usage): Update.
1893
        (main): Redo argument parsing.  Handle --debug and --multi.  Handle
1894
        --attach along with other options or after the port.  Save
1895
        program_argv.  Support no initial program.  Resynchronize
1896
        communication with GDB after an error.  Handle "monitor exit".
1897
        Use require_running and target_running.  Always allow the extended
1898
        protocol.  Do not error out for Hc0 or Hc-1.  Do not automatically
1899
        restart in extended mode.
1900
        * README: Refer to the GDB manual.  Update --attach usage.
1901
 
1902
2007-12-20  Andreas Schwab  
1903
 
1904
        * linux-low.c (STACK_SIZE): Define.
1905
        (linux_tracefork_child): Use it.  Use __clone2 on ia64.
1906
        (linux_test_for_tracefork): Likewise.
1907
 
1908
2007-12-18  Daniel Jacobowitz  
1909
 
1910
        * linux-low.c (linux_wait_for_event): Update messages.  Do not
1911
        reinsert auto-delete breakpoints.
1912
        * mem-break.c (struct breakpoint): Change return type of handler to
1913
        int.
1914
        (set_breakpoint_at): Update handler type.
1915
        (reinsert_breakpoint_handler): Return 1 instead of calling
1916
        delete_breakpoint.
1917
        (reinsert_breakpoint_by_bp): Check for the original breakpoint before
1918
        setting a new one.
1919
        (check_breakpoints): Delete auto-delete breakpoints and return 2.
1920
        * mem-break.h (set_breakpoint_at): Update handler type.
1921
        * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
1922
        * win32-low.c (auto_delete_breakpoint): New.
1923
        (get_child_debug_event): Use it.
1924
 
1925
2007-12-16  Daniel Jacobowitz  
1926
 
1927
        * configure.ac: Check for pread and pwrite.
1928
        * hostio.c (handle_pread): Fall back to lseek and read.
1929
        (handle_pwrite): Fall back to lseek and write.
1930
        * config.in, configure: Regenerated.
1931
 
1932
2007-12-07  Daniel Jacobowitz  
1933
 
1934
        * server.c (myresume): Add own_buf argument.
1935
        (main): Update calls.
1936
 
1937
2007-12-06  Daniel Jacobowitz  
1938
 
1939
        * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
1940
        * remote-utils.c (remote_open): Do not call disable_async_io.
1941
        (block_async_io): Delete.
1942
        (unblock_async_io): Make static.
1943
        (initialize_async_io): New.
1944
        * server.c (handle_v_cont): Handle async I/O here.
1945
        (myresume): Likewise.  Move other common resume tasks here...
1946
        (main): ... from here.  Call initialize_async_io.  Disable async
1947
        I/O before the main loop.
1948
        * server.h (initialize_async_io): Declare.
1949
        (block_async_io, unblock_async_io): Delete prototypes.
1950
        * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
1951
 
1952
2007-12-06  Mick Davis  
1953
 
1954
        * remote-utils.c (readchar): Allow binary data in received messages.
1955
 
1956
2007-12-03  Pedro Alves  
1957
 
1958
        * win32-low.c (attaching): New global.
1959
        (win32_create_inferior): Clear the `attaching' global.
1960
        (win32_attach): Set the `attaching' global.
1961
        (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
1962
        attaching.  Only set a breakpoint at the entry point if not
1963
        attaching.
1964
 
1965
2007-12-03  Pedro Alves  
1966
 
1967
        * server.c (main): Don't report dll events on the initial
1968
        connection on attaches.
1969
 
1970
2007-12-03  Pedro Alves  
1971
 
1972
        * server.c (main): Relax numerical bases supported for the pid of
1973
        the --attach command line argument.
1974
 
1975
2007-12-03  Pedro Alves  
1976
 
1977
        * win32-low.c (win32_attach): Call OpenProcess before
1978
        DebugActiveProcess, not after.  Add last error output to error
1979
        call.
1980
 
1981
2007-12-03  Pedro Alves  
1982
 
1983
        * win32-low.c (win32_get_thread_context)
1984
        (win32_set_thread_context): New functions.
1985
        (thread_rec): Use win32_get_thread_context.
1986
        (continue_one_thread, win32_resume): Use win32_set_thread_context.
1987
        * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
1988
        field.
1989
 
1990
2007-12-03  Leo Zayas
1991
            Pedro Alves  
1992
 
1993
        * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
1994
        global variables.
1995
        (child_add_thread): Minor cleanup.
1996
        (child_continue): Resume artificially suspended threads before
1997
        calling ContinueDebugEvent.
1998
        (suspend_one_thread): New.
1999
        (fake_breakpoint_event): New.
2000
        (get_child_debug_event): Change return type to int.  Check here if
2001
        gdb sent an interrupt request.  If a soft interrupt was requested,
2002
        fake a breakpoint event.  Return 0 if there is no event to handle,
2003
        and 1 otherwise.
2004
        (win32_wait): Don't check here if gdb sent an interrupt request.
2005
        Ensure there is a valid event to handle.
2006
        (win32_request_interrupt): Add soft interruption method as last
2007
        resort.
2008
 
2009
2007-12-03  Leo Zayas
2010
            Pedro Alves  
2011
 
2012
        * win32-low.h (win32_thread_info): Add descriptions to the
2013
        structure members.  Replace `suspend_count' counter by a
2014
        `suspended' flag.
2015
        * win32-low.c (thread_rec): Update condition of when to get the
2016
        context from the inferior.  Rely on ContextFlags being set if it
2017
        has already been retrieved.  Only suspend the inferior thread if
2018
        we haven't already.  Warn if that fails.
2019
        (continue_one_thread): s/suspend_count/suspended/.  Only call
2020
        ResumeThread once.  Warn if that fails.
2021
 
2022
2007-12-02  Pedro Alves  
2023
 
2024
        * win32-low.c (win32_wait): Don't read from the inferior when it
2025
        has already exited.
2026
 
2027
2007-12-02  Pedro Alves  
2028
 
2029
        * Makefile.in (win32_low_h): New variable.
2030
        (win32-low.o): Add dependency on $(win32_low_h).
2031
        (win32-arm-low.o, win32-i386-low.o): New rules.
2032
 
2033
2007-11-30  Daniel Jacobowitz  
2034
 
2035
        * hostio.c: Correct copyright year.
2036
 
2037
2007-11-30  Daniel Jacobowitz  
2038
 
2039
        * Makefile.in (OBS): Add hostio.o.
2040
        (hostio.o): New rule.
2041
        * server.h (handle_vFile): Declare.
2042
        * hostio.c: New file.
2043
        * server.c (handle_v_requests): Take packet_len and new_packet_len
2044
        for binary packets.  Call handle_vFile.
2045
        (main): Update call to handle_v_requests.
2046
 
2047
2007-11-05  Daniel Jacobowitz  
2048
 
2049
        * linux-low.c: Include .
2050
 
2051
2007-11-01  Daniel Jacobowitz  
2052
 
2053
        * linux-low.c (linux_tracefork_grandchild): New.
2054
        (linux_tracefork_child): Use clone.
2055
        (linux_test_for_tracefork): Use clone; allocate and free a stack.
2056
 
2057
2007-10-31  Joel Brobecker  
2058
 
2059
        * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
2060
 
2061
2007-10-24  Daniel Jacobowitz  
2062
 
2063
        * linux-low.c (handle_extended_wait): Handle unexpected signals.
2064
 
2065
2007-10-23  Daniel Jacobowitz  
2066
 
2067
        * inferiors.c (change_inferior_id): Delete.
2068
        (add_pid_to_list, pull_pid_from_list): New.
2069
        * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
2070
        (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
2071
        (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
2072
        (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
2073
        (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
2074
        (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
2075
        (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
2076
        (using_threads): Always set to 1.
2077
        (handle_extended_wait): New.
2078
        (add_process): Do not set TID.
2079
        (linux_create_inferior): Set must_set_ptrace_flags.
2080
        (linux_attach_lwp): Remove TID argument.  Do not check using_threads.
2081
        Use PTRACE_SETOPTIONS.  Call new_thread_notify.  Update all callers.
2082
        (linux_thread_alive): Rename TID argument to LWPID.
2083
        (linux_wait_for_process): Handle unknown processes.  Do not use TID.
2084
        (linux_wait_for_event): Do not use TID or check using_threads.  Update
2085
        call to dead_thread_notify.  Call handle_extended_wait.
2086
        (linux_create_inferior): Use PTRACE_SETOPTIONS.
2087
        (send_sigstop): Delete sigstop_sent.
2088
        (wait_for_sigstop): Avoid TID.
2089
        (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
2090
        (linux_test_for_tracefork): New.
2091
        (linux_lookup_signals): Use thread_db_active and
2092
        linux_supports_tracefork_flag.
2093
        (initialize_low): Use thread_db_active and linux_test_for_tracefork.
2094
        * linux-low.h (get_process_thread): Avoid TID.
2095
        (struct process_ifo): Move thread_known and tid to the end.  Remove
2096
        sigstop_sent.
2097
        (linux_attach_lwp, thread_db_init): Update prototypes.
2098
        * server.h (change_inferior_id): Delete prototype.
2099
        (add_pid_to_list, pull_pid_from_list): New prototypes.
2100
        * thread-db.c (thread_db_use_events): New.
2101
        (find_first_thread): Rename to...
2102
        (find_one_thread): ...this.  Update callers and messages.  Do not
2103
        call fatal.  Check thread_db_use_events.  Do not call
2104
        change_inferior_id or new_thread_notify.
2105
        (maybe_attach_thread): Update.  Do not call new_thread_notify.
2106
        (thread_db_init): Set thread_db_use_events.  Check use_events.
2107
        * utils.c (fatal, warning): Correct message prefix.
2108
 
2109
2007-10-15  Daniel Jacobowitz  
2110
 
2111
        * Makefile.in (clean): Remove new files.
2112
        (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
2113
        (powerpc-64.o, powerpc-64.c): New rules.
2114
        * configure.srv: Use alternate register sets for powerpc64-*-linux*
2115
        with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
2116
        with SPE.
2117
        * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
2118
        SPE targets.
2119
        (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
2120
        (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
2121
        (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
2122
        (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
2123
        (target_regsets): Add AltiVec and SPE register sets.
2124
        * configure.ac: Check for AltiVec and SPE.
2125
        * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
2126
        (ppc_fill_vrregset, ppc_store_vrregset): New.
2127
        (target_regsets): Add AltiVec register set.
2128
        * configure: Regenerated.
2129
 
2130
2007-09-19  Daniel Jacobowitz  
2131
 
2132
        * linux-low.c (O_LARGEFILE): Define.
2133
        (linux_read_memory): Use /proc/PID/mem.
2134
        * configure.ac: Use AC_GNU_SOURCE.  Check for pread64.
2135
        * configure, config.in: Regenerated.
2136
 
2137
2007-09-04  Daniel Jacobowitz  
2138
 
2139
        * linux-low.c (linux_wait_for_event): Do not pass signals while
2140
        single-stepping.
2141
 
2142
2007-09-03  Pedro Alves  
2143
 
2144
        * win32-low.c (create_process): New.
2145
        (win32_create_inferior): Use create_process instead of
2146
        CreateProcess.  If create_process failed retry appending an ".exe"
2147
        suffix.  Store the GetLastError result immediatelly after
2148
        create_process calls and use it on the call to error.
2149
 
2150
2007-09-03  Pedro Alves  
2151
 
2152
        * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
2153
 
2154
2007-08-23  Joel Brobecker  
2155
 
2156
        * configure.ac: Switch license to GPLv3.
2157
 
2158
2007-08-01  Michael Snyder  
2159
 
2160
        * remote-utils.c (putpkt_binary): Memory leak, free buf2.
2161
 
2162
2007-07-31  Pedro Alves  
2163
 
2164
        * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
2165
        typedef.
2166
        (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
2167
        (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL.  Get
2168
        CloseToolhelp32Snapshot.
2169
        (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
2170
        CloseToolhelp32Snapshot.
2171
 
2172
2007-07-27  Michael Snyder  
2173
 
2174
        * server.c (main): Check for inferior exit before main loop.
2175
 
2176
2007-07-18  Pedro Alves  
2177
 
2178
        * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
2179
        instead of on tmp_desc.
2180
 
2181
2007-07-17  Pedro Alves  
2182
            Daniel Jacobowitz  
2183
 
2184
        * inferiors.c (all_dlls, dlls_changed, get_dll): New.
2185
        (add_thread): Minor cleanups.
2186
        (clear_inferiors): Move lower in the file.  Clear the DLL
2187
        list.
2188
        (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
2189
        * remote-utils.c (prepare_resume_reply): Check dlls_changed.
2190
        (xml_escape_text): New.
2191
        * server.c (handle_query): Handle qXfer:libraries:read.  Report it
2192
        for qSupported.
2193
        (handle_v_cont): Report errors.
2194
        (gdbserver_version): Update.
2195
        (main): Correct size of own_buf.  Do not report initial DLL events.
2196
        * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
2197
        (unloaded_dll, xml_escape_text): New.
2198
        * win32-low.c (enum target_waitkind): Update comments.
2199
        (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
2200
        (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
2201
        (win32_EnumProcessModules, win32_GetModuleInformation)
2202
        (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
2203
        (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
2204
        (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
2205
        (win32_Module32First, win32_Module32Next, load_toolhelp)
2206
        (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
2207
        (get_child_debug_event): Handle DLL events.
2208
        (win32_wait): Likewise.
2209
 
2210
2007-07-12  Daniel Jacobowitz  
2211
 
2212
        * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
2213
        * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
2214
 
2215
2007-07-08  Pedro Alves  
2216
 
2217
        * win32-low.c (handle_output_debug_string): Ignore event if not
2218
        waiting.
2219
 
2220
2007-07-08  Pedro Alves  
2221
 
2222
        * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
2223
 
2224
2007-07-03  Daniel Jacobowitz  
2225
 
2226
        * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
2227
 
2228
2007-07-02  Daniel Jacobowitz  
2229
 
2230
        * inferiors.c (change_inferior_id): Add comment.
2231
        * linux-low.c (check_removed_breakpoint): Add an early
2232
        prototype.  Improve debug output.
2233
        (linux_attach): Doc update.
2234
        (linux_detach_one_process, linux_detach): Clean up before releasing
2235
        each process.
2236
        (send_sigstop, wait_for_sigstop): Improve comments and debug output.
2237
        * linux-low.h (struct process_info): Doc improvement.
2238
        * mem-break.c (delete_all_breakpoints): New.
2239
        * mem-break.h (delete_all_breakpoints): New prototype.
2240
        * thread-db.c (find_first_thread): New.
2241
        (thread_db_create_event): Call it instead of
2242
        thread_db_find_new_threads.  Clean up unused variables.
2243
        (maybe_attach_thread): Remove first thread handling.
2244
        (thread_db_find_new_threads): Use find_first_thread.
2245
        (thread_db_get_tls_address): Likewise.
2246
 
2247
2007-06-27  Daniel Jacobowitz  
2248
 
2249
        * thread-db.c (thread_db_find_new_threads): Add prototype.
2250
        (thread_db_create_event): Check for the main thread before adding
2251
        a new thread.
2252
        (maybe_attach_thread): Only enable event reporting if TID == 0.
2253
        (thread_db_get_tls_address): Check for new threads.
2254
 
2255
2007-06-20  Daniel Jacobowitz  
2256
 
2257
        * linux-low.c (linux_create_inferior): Try execv before execvp.
2258
        * spu-low.c (spu_create_inferior): Likewise.
2259
 
2260
2007-06-13  Mike Frysinger  
2261
 
2262
        * linux-low.c (linux_create_inferior): Change execv to execvp.
2263
        * spu-low.c (spu_create_inferior): Likewies.
2264
 
2265
2007-06-13  Daniel Jacobowitz  
2266
 
2267
        * Makefile.in (clean): Clean new files instead of deleted ones.
2268
        (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
2269
        (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
2270
        rules.
2271
        * configure.srv: Specify XML files and new regformats for MIPS and
2272
        MIPS64 GNU/Linux.
2273
        * linux-mips-low.c (mips_num_regs): Set to only used registers.
2274
        (mips_regmap): Do not fetch $0.  Remove unused registers.  Add
2275
        an entry for the restart register.
2276
        (mips_cannot_fetch_register, mips_cannot_store_register)
2277
        (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
2278
        register names to match the XML descriptions.
2279
        (mips_fill_gregset, mips_store_gregset): Likewise.  Handle the
2280
        restart register instead of $0.
2281
 
2282
2007-06-12  Ulrich Weigand  
2283
            Markus Deuling  
2284
 
2285
        * remote-utils.c (decode_xfer_write): New function.
2286
        * server.h (decode_xfer_write): Add prototype.
2287
        * server.c (handle_query): Add PACKET_LEN argument.  Support
2288
        qXfer:spu:read and qXfer:spu:write packets.
2289
        (main): Pass packet_len to handle_query.
2290
        * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
2291
        * target.h (target_ops): Add qxfer_spu.
2292
 
2293
2007-06-12  Ulrich Weigand  
2294
 
2295
        * spu-low.c (spu_proc_xfer_spu): Do not return failure when
2296
        accessing non-seekable spufs files.
2297
 
2298
2007-05-16  Markus Deuling  
2299
 
2300
        * server.c (handle_query): Add reply for qC packet.
2301
 
2302
2007-05-10  Pedro Alves  
2303
            Leo Zayas  
2304
 
2305
        * server.h (check_remote_input_interrupt_request): New function.
2306
        * remote_utils.c (INVALID_DESCRIPTOR): New define.
2307
        (remote_desc): Initialize with INVALID_DESCRIPTOR.
2308
        (input_interrupt): Expose on USE_WIN32API too.  Fix whitespace.
2309
        (check_remote_input_interrupt_request): New function.
2310
        * server.h (check_remote_input_interrupt_request): Declare.
2311
        * win32-low.c (winapi_DebugBreakProcess,
2312
        winapi_GenerateConsoleCtrlEvent): New typedefs.
2313
        (get_child_debug_event): Lower Win32 debug event polling from 1 sec
2314
        to 250 ms.
2315
        (win32_wait): Check for remote interrupt request
2316
        with check_remote_input_interrupt_request.
2317
        (win32_request_interrupt): New function.
2318
        (win32_target_op): Set request_interrupt to win32_request_interrupt.
2319
 
2320
2007-05-10  Pedro Alves  
2321
 
2322
        * win32-low.c (debug_registers_changed,
2323
        debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
2324
        CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
2325
        CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
2326
        (thread_rec): Get context using the low target.
2327
        (child_add_thread): Call thread_added on the low target,
2328
        which does the same thing.
2329
        (regptr): Delete.
2330
        (do_initial_child_stuff): Remove debug registers references.
2331
        Set context using the low target.  Resume threads after
2332
        setting the contexts.
2333
        (child_continue): Remove dead variable.  Remove debug
2334
        registers references.
2335
        (child_fetch_inferior_registers): Go through the low target.
2336
        (do_child_store_inferior_registers): Remove.
2337
        (child_store_inferior_registers): Go through the low target.
2338
        (win32_resume): Remove debug registers references.
2339
        Set context using the low target.
2340
        (handle_exception): Change return type to void.  Don't record
2341
        context here.  Set status to TARGET_WAITKIND_SPURIOUS on a
2342
        first chance exception.
2343
        (get_child_debug_event): Change return type to void.  Remove
2344
        goto loop.  Always return after waiting for debug event.
2345
        (win32_wait): Convert to switch statement.  Handle spurious
2346
        events.
2347
 
2348
        * win32-i386-low.c (debug_registers_changed,
2349
        debug_registers_used): New.
2350
        (initial_stuff): Rename to ...
2351
        (i386_initial_stuff): ... this.  Clear debug registers
2352
        state variables.
2353
        (store_debug_registers): Delete.
2354
        (i386_get_thread_context): New.
2355
        (load_debug_registers): Delete.
2356
        (i386_set_thread_context): New.
2357
        (i386_thread_added): New.
2358
        (single_step): Rename to ...
2359
        (i386_single_step): ... this.
2360
        (do_fetch_inferior_registers): Rename to ...
2361
        (i386_fetch_inferior_register): ... this.
2362
        (i386_store_inferior_register): New.
2363
        (the_low_target): Adapt to new interface.
2364
 
2365
        * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
2366
        (arm_get_thread_context): New.
2367
        (arm_set_thread_context): New.
2368
        (regptr): New.
2369
        (do_fetch_inferior_registers): Rename to ...
2370
        (arm_fetch_inferior_register): ... this.
2371
        (arm_store_inferior_register): New.
2372
        (arm_wince_breakpoint): Reimplement as unsigned long.
2373
        (arm_wince_breakpoint_len): Define.
2374
        (the_low_target): Adapt to new interface.
2375
 
2376
        * win32-low.h (target_ops): Remove regmap, store_debug_registers and
2377
        load_debug_registers.  Add get_thread_context, set_thread_context,
2378
        thread_added and store_inferior_register.  Rename
2379
        fetch_inferior_registers to fetch_inferior_register.
2380
        (regptr): Remove declaration.
2381
 
2382
2007-05-10  Pedro Alves  
2383
 
2384
        * linux-low.c (linux_detach): Change return type to int.  Return 0.
2385
        * spu-low.c (spu_detach): Likewise.
2386
 
2387
2007-05-10  Pedro Alves  
2388
 
2389
        * target.h (target_ops): Change return type of detach to int.
2390
        Add join.
2391
        (join_inferior): New.
2392
        * server.c (main): Don't skip detach support on mingw32.
2393
        If the inferior doesn't support detaching return error.
2394
        Call join_inferior instead of using waitpid.
2395
        * linux-low.c (linux_join): New.
2396
        (linux_target_op): Add linux_join.
2397
        * spu-low.c (spu_join): New.
2398
        (spu_target_ops): Add spu_join.
2399
        * win32-low.c (win32_detach): Adapt to new interface.
2400
        Reopen current_process_handle before detaching.  Issue a child
2401
        resume before detaching.
2402
        (win32_join): New.
2403
        (win32_target_op): Add win32_join.
2404
 
2405
2007-05-10  Pedro Alves  
2406
 
2407
        * win32-low.c (win32-attach): Fix return value.
2408
        * target.h (target_ops): Describe ATTACH return values.
2409
 
2410
2007-05-10  Pedro Alves  
2411
 
2412
        * win32-low.c (GETPROCADDRESS): Define.
2413
        (winapi_DebugActiveProcessStop): Add WINAPI.  typedef as pointer.
2414
        (winapi_DebugSetProcessKillOnExit): Likewise.
2415
        (win32_create_inferior): Force usage of ansi CreateProcessA.
2416
        (win32_attach): Use GETPROCADDRESS.
2417
        (win32_detach): Likewise.
2418
 
2419
2007-05-10  Pedro Alves  
2420
 
2421
        * win32-low.c (win32_wait): Don't use WSTOPSIG.
2422
 
2423
2007-03-30  Pedro Alves  
2424
 
2425
        * win32-low.c: Commit leftover changes from 2007-03-29.
2426
 
2427
2007-03-30  Daniel Jacobowitz  
2428
 
2429
        * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
2430
        fields short instead of int.  Add explicit padding.
2431
        (i387_cache_to_fsave): Remove unnecessary casts.
2432
        (i387_fsave_to_cache): Doc fix.
2433
        (i387_cache_to_fxsave): Remove unnecessary casts and masking.
2434
 
2435
2007-03-30  Daniel Jacobowitz  
2436
 
2437
        * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
2438
        (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
2439
 
2440
2007-03-29  Pedro Alves  
2441
 
2442
        * configure.srv (arm*-*-mingw32ce*): Move near the other
2443
        arm targets.
2444
 
2445
2007-03-29  Pedro Alves  
2446
 
2447
        * configure.ac: Add errno checking.
2448
        (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
2449
        sys/file.h and malloc.h.
2450
        (AC_CHECK_DECLS): Add perror.
2451
        (srv_mingwce): Handle.
2452
        * configure.srv (i[34567]86-*-cygwin*): Add
2453
        win32-i386-low.o to srv_tgtobj.
2454
        (i[34567]86-*-mingw*): Likewise.
2455
        (arm*-*-mingw32ce*): Add case.
2456
        * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
2457
        HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
2458
        [__MINGW32CE__] (strerror): New function.
2459
        [__MINGW32CE__] (errno): Define to GetLastError.
2460
        [__MINGW32CE__] (COUNTOF): New macro.
2461
        (remote_open): Remove extra close call.
2462
        * mem-break.c (delete_breakpoint_at): New function.
2463
        * mem-break.h (delete_breakpoint_at): Declare.
2464
        * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
2465
        HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
2466
        [USE_WIN32API] (read, write): Add char* casts.
2467
        * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
2468
        * server.h: Include wincecompat.h on Windows CE.
2469
        [HAVE_ERRNO_H]: Check.
2470
        (perror): Declare if not declared.
2471
        * utils.c: Add stdlib.h, errno.h and malloc.h includes.
2472
        (perror_with_name): Remove errno declaration.
2473
        * wincecompat.h: New.
2474
        * wincecompat.c: New.
2475
        * win32-low.h: New.
2476
        * win32-arm-low.c: New.
2477
        * win32-i386-low.c: New.
2478
        (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
2479
        (OUTMSG2): Make it safe.
2480
        (_T): New macro.
2481
        (COUNTOF): New macro.
2482
        (NUM_REGS): Get it from the low target.
2483
        (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
2484
        CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
2485
        (thread_rec): Let low target handle debug registers.
2486
        (child_add_thread): Likewise.
2487
        (child_init_thread_list): Likewise.
2488
        (continue_one_thread): Likewise.
2489
        (regptr): New.
2490
        (do_child_fetch_inferior_registers): Move to ...
2491
        * win32-i386-low.c: ... here, and rename to ...
2492
        (do_fetch_inferior_registers): ... this.
2493
        * win32-low.c (child_fetch_inferior_registers):
2494
        Go through the low target.
2495
        (do_child_store_inferior_registers): Use regptr.
2496
        (strwinerror): New function.
2497
        (win32_create_inferior): Handle Windows CE.
2498
        Use strwinerror instead of strerror on Windows error
2499
        codes.  Add program to the error output.
2500
        Don't close the main thread handle on Windows CE.
2501
        (win32_attach): Use coredll.dll on Windows CE.
2502
        (win32_kill): Close current process and current
2503
        thread handles.
2504
        (win32_detach): Use coredll.dll on Windows CE.
2505
        (win32_resume): Let low target handle debug registers, and
2506
        step request.
2507
        (handle_exception): Add/Remove initial breakpoint.  Avoid
2508
        non-existant WSTOPSIG on Windows CE.
2509
        (win32_read_inferior_memory): Cast to remove warning.
2510
        (win32_arch_string): Go through the low target.
2511
        (initialize_low): Call set_breakpoint_data with the low
2512
        target's breakpoint.
2513
        * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
2514
        FOP_REGNUM, mappings): Move to ...
2515
        * win32-i386-low.c: ... here.
2516
        * win32-low.c (win32_thread_info): Move to ...
2517
        * win32-low.h: ... here.
2518
        * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
2519
        win32-arm-low.c and wincecompat.c.
2520
        (all:): Add $EXEEXT.
2521
        (install-only:): Likewise.
2522
        (gdbserver:): Likewise.
2523
        (gdbreplay:): Likewise.
2524
        * config.in: Regenerate.
2525
        * configure: Regenerate.
2526
 
2527
2007-03-28  Pedro Alves  
2528
 
2529
        * win32-low.c: Rename typedef thread_info to
2530
        win32_thread_info throughout.
2531
 
2532
2007-03-28  Pedro Alves  
2533
 
2534
        * win32-i386-low.c: Rename to ...
2535
        * win32-low.c: ... this.
2536
        * configure.srv: Replace win32-i386-low.o with win32-low.o.
2537
        * Makefile.in: Likewise.
2538
 
2539
2007-03-27  Pedro Alves  
2540
 
2541
        * remote-utils.c (monitor_output): Constify msg parameter.
2542
        * server.h (monitor_output): Likewise.
2543
        * win32-i386-low.c (handle_output_debug_string): New.
2544
        (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
2545
        handle_output_debug_string.
2546
        (get_child_debug_event): Likewise.
2547
 
2548
2007-03-27  Mat Hostetter  
2549
 
2550
        * server.c (main): Correct strtoul check.
2551
 
2552
2007-03-27  Jon Ringle  
2553
 
2554
        * linux-low.c: Check __ARCH_HAS_MMU__ also.
2555
 
2556
2007-03-27  Brooks Moses  
2557
 
2558
        * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
2559
 
2560
2007-02-27  Daniel Jacobowitz  
2561
 
2562
        * terminal.h: Check HAVE_SGTTY_H.
2563
 
2564
2007-02-27  Mat Hostetter  
2565
 
2566
        * remote-utils.c (remote_open): Print out the assigned port number.
2567
 
2568
2007-02-26  Daniel Jacobowitz  
2569
 
2570
        * remote-utils.c (monitor_output): New function.
2571
        * server.c (debug_threads): Define here.
2572
        (monitor_show_help): New function.
2573
        (handle_query): Handle qRcmd.
2574
        (main): Do not handle 'd' packet.
2575
        * server.h (debug_threads, remote_debug, monitor_output): Declare.
2576
        * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
2577
        of debug_threads.
2578
 
2579
2007-02-25  Pedro Alves  
2580
 
2581
        * Makefile.in (EXEEXT): New.
2582
        (clean): Use $(EXEEXT).
2583
 
2584
2007-02-25  Pedro Alves  
2585
 
2586
        * target.h (target_ops): Rename send_signal to request_interrupt,
2587
        and remove enum target_signal parameter.
2588
        * linux-low.c (linux_request_interrupt): Rename from
2589
        linux_send_signal, and always send SIGINT.
2590
        * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
2591
        and always send SIGINT.
2592
        * remote-utils.c (putpkt_binary): Call request_interrupt, instead
2593
        of send_signal.
2594
        (input_interrupt): Likewise.
2595
 
2596
2007-02-25  Pedro Alves  
2597
 
2598
        * server.c (get_features_xml): Check if target implemented
2599
        arch_string.
2600
        * win32-i386-low.c (win32_arch_string): New.
2601
        (win32_target_ops): Add win32_arch_string as arch_string member.
2602
 
2603
2007-02-22  Markus Deuling  
2604
 
2605
        * spu-low.c (spu_arch_string): New.
2606
        (spu_target_ops): Add spu_arch_string.
2607
 
2608
2007-02-16  Daniel Jacobowitz  
2609
 
2610
        * remote-utils.c: Remove HAVE_TERMINAL_H check.
2611
        * configure.ac: Do not check for terminal.h.
2612
        * configure, config.in: Regenerated.
2613
 
2614
2007-02-08  Daniel Jacobowitz  
2615
 
2616
        * Makefile.in (OBS): Add $(XML_BUILTIN).
2617
        (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
2618
        (clean): Update.
2619
        (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
2620
        (arm-with-iwmmxt.c): New.
2621
        * config.in, configure: Regenerate.
2622
        * configure.ac: Check for iWMMXt.  Handle srv_xmltarget,
2623
        srv_xmlbuiltin, and srv_xmlfiles.  Define USE_XML.
2624
        * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
2625
        (arm*-*-linux*): Add iWMMXt and regset support.
2626
        * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
2627
        (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
2628
        (arm_store_wmmxregset, target_regsets): New.
2629
        * server.c (get_features_xml): Take annex argument.  Check builtin
2630
        XML documents.
2631
        (handle_query): Handle multiple annexes.
2632
 
2633
2007-01-29  Daniel Jacobowitz  
2634
 
2635
        * remote-utils.c [USE_WIN32API] (read, write): Define.
2636
        (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
2637
        write.
2638
 
2639
2007-01-09  Daniel Jacobowitz  
2640
 
2641
        * linux-i386-low.c (the_low_target): Set arch_string.
2642
        * linux-x86-64-low.c (the_low_target): Likewise.
2643
        * linux-low.c (linux_arch_string): New.
2644
        (linux_target_ops): Add it.
2645
        * linux-low.h (struct linux_target_ops): Add arch_string.
2646
        * server.c (write_qxfer_response): Use const void * for DATA.
2647
        (get_features_xml): New.
2648
        (handle_query): Handle qXfer:features:read.  Report it for qSupported.
2649
        * target.h (struct target_ops): Add arch_string method.
2650
 
2651
2007-01-03  Denis Pilat  
2652
            Daniel Jacobowitz  
2653
 
2654
        * linux-low.c (linux_kill): Handle being called with no threads.
2655
        * win32-i386-low.c (win32_kill): Likewise.
2656
        (get_child_debug_event): Clear current_process_handle.
2657
 
2658
2006-12-30  Denis PILAT  
2659
            Daniel Jacobowitz  
2660
 
2661
        * remote-utils.c (remote_open): Check the type of specified
2662
        serial port devices before opening them.
2663
        * server.c (main): Kill the inferior if an error occurs during
2664
        the first remote_open.
2665
 
2666
2006-12-05  Markus Deuling  
2667
 
2668
        * README: Update supported targets.
2669
 
2670
2006-11-28  Daniel Jacobowitz  
2671
 
2672
        * Makefile.in (clean): Remove reg-mips64.c.
2673
        (reg-mips64.c, reg-mips64.o): New rules.
2674
        * configure.srv: Handle mips64.  Include regset support for mips.
2675
        * linux-mips-low.c (union mips_register): New.
2676
        (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
2677
        (mips_breakpoint, mips_breakpoint_at): Use int.
2678
        (mips_collect_register, mips_supply_register)
2679
        (mips_collect_register_32bit, mips_supply_register_32bit)
2680
        (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
2681
        (mips_store_fpregset, target_regsets): New.
2682
        * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
2683
 
2684
2006-11-22  Ulrich Weigand  
2685
 
2686
        * configure.srv: Add target "spu*-*-*".
2687
        * Makefile.in (clean): Remove reg-spu.c.
2688
        (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
2689
        * spu-low.c: New file.
2690
 
2691
2006-11-16  Daniel Jacobowitz  
2692
 
2693
        * configure.ac: Correct td_thr_tls_get_addr test.
2694
        * configure: Regenerated.
2695
 
2696
2006-11-16  Daniel Jacobowitz  
2697
 
2698
        * linux-low.c (linux_wait_for_event): Reformat.  Use the
2699
        pass_signals array.
2700
        * remote-utils.c (decode_address_to_semicolon): New.
2701
        * server.c (pass_signals, handle_general_set): New.
2702
        (handle_query): Mention QPassSignals for qSupported.
2703
        (main): Call handle_general_set.
2704
        * server.h (pass_signals, decode_address_to_semicolon): New.
2705
 
2706
2006-11-06  Daniel Jacobowitz  
2707
 
2708
        * server.c (handle_query): Correct error handling for read_auxv.
2709
 
2710
2005-10-19  Ulrich Weigand  
2711
 
2712
        * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
2713
        and srv_linux_thread_db to yes.
2714
        * linux-s390-low.c (s390_fill_gregset): New function.
2715
        (target_regsets): Define data structure.
2716
 
2717
2006-10-17  Daniel Jacobowitz  
2718
 
2719
        * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
2720
        * configure.ac: Use it.  Define HAVE_TD_THR_TLS_GET_ADDR.
2721
        * config.in, configure: Regenerated.
2722
        * inferiors.c (gdb_id_to_thread): New function.
2723
        (gdb_id_to_thread_id): Use it.
2724
        * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
2725
        * linux-low.h (struct process_info): Add th member.
2726
        (thread_db_get_tls_address): New prototype.
2727
        * remote-utils.c (decode_address): Make non-static.
2728
        * server.c (handle_query): Handle qGetTLSAddr.
2729
        * server.h (gdb_id_to_thread, decode_address): New prototypes.
2730
        * target.h (struct target_ops): Add get_tls_address.
2731
        * thread-db.c (maybe_attach_thread): Save the thread handle.
2732
        (thread_db_get_tls_address): New.
2733
 
2734
2006-09-28  Daniel Jacobowitz  
2735
 
2736
        * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
2737
        (linux_resume_one_process): Take a siginfo_t *.  Update all
2738
        callers.  Queue it if necessary.  Use PTRACE_SETSIGINFO.
2739
        (struct pending_signals): Add a siginfo_t.
2740
        (linux_wait_for_process): Always set last_status.
2741
        (linux_wait_for_event): Use PTRACE_GETSIGINFO.
2742
        (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
2743
        * linux-low.h (struct process_info): Add last_status.
2744
 
2745
2006-09-21  Daniel Jacobowitz  
2746
 
2747
        * remote-utils.c (try_rle): New function.
2748
        (putpkt_binary): Use it.
2749
 
2750
2006-08-19  Daniel Jacobowitz  
2751
 
2752
        * Makefile.in (clean): Clean reg-x86-64-linux.c.
2753
        (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
2754
        * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
2755
        * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
2756
        (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
2757
        point registers.
2758
 
2759
2006-08-08  Richard Sandiford  
2760
 
2761
        * server.c (terminal_fd): New variable.
2762
        (old_foreground_pgrp): Likewise.
2763
        (restore_old_foreground_pgrp): New function.
2764
        (start_inferior): Record the terminal file descriptor in terminal_fd
2765
        and its original foreground group in old_foreground_pgrp.  Register
2766
        restore_old_foreground_pgrp with atexit().
2767
 
2768
2006-07-26  Daniel Jacobowitz  
2769
 
2770
        * server.c (handle_query): Correct qPart to qXfer.
2771
 
2772
2006-07-22  Daniel Jacobowitz  
2773
 
2774
        * configure.ac: Check for more headers which are missing on
2775
        Windows.  Automatically supply -lwsock32 and USE_WIN32API.
2776
        * configure.srv: Add Cygwin and mingw32.
2777
        * remote-utils.c: Don't include headers unconditionally which
2778
        are missing on mingw32.  Include  for mingw32.
2779
        (remote_open): Adjust for mingw32 support.  Flush
2780
        standard error after writing to it.
2781
        (remote_close, putpkt_binary, input_interrupt, block_async_io)
2782
        (unblock_async_io, enable_async_io, disable_async_io)
2783
        (readchar, getpkt): Update for Winsock support.
2784
        (prepare_resume_reply): Expect a protocol signal number.
2785
        * server.c: Disable  on mingw32.
2786
        (start_inferior): Adjust for mingw32 support.  Flush
2787
        standard error after writing to it.
2788
        (attach_inferior): Likewise.  Use protocol signal
2789
        numbers.
2790
        (main): Skip 'D' packet on mingw32.  Use protocol signal numbers
2791
        and names.
2792
        * win32-i386-low.c: New file.
2793
        * Makefile.in (XM_CLIBS): Set.
2794
        (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
2795
        (win32-i386-low.o): New dependency rule.
2796
        * linux-low.c (linux_wait): Use target signal numbers.
2797
        * target.h (struct target_ops): Doc fix.
2798
        * server.h (target_signal_to_name): New prototype.
2799
        * gdbreplay.c: Don't include headers unconditionally which
2800
        are missing on mingw32.  Include  for mingw32.
2801
        (remote_close, remote_open): Adjust for Winsock support.
2802
        * configure, config.in: Regenerated.
2803
 
2804
2006-07-12  Daniel Jacobowitz  
2805
 
2806
        * server.c (decode_xfer_read, write_qxfer_response): New.
2807
        (handle_query): Take a packet length argument.  Handle
2808
        qXfer:auxv:read instead of qPart:auxv:read.  Mention it in
2809
        the qSupported response.
2810
        (main): Update call to handle_query.
2811
 
2812
2006-06-22  Daniel Jacobowitz  
2813
 
2814
        * remote-utils.c (remote_escape_output, remote_unescape_input): New.
2815
        (putpkt_binary): Renamed from putpkt and adjusted for binary
2816
        data.
2817
        (putpkt): New wrapper for putpkt_binary.
2818
        (readchar): Don't mask off the high bit.
2819
        (decode_X_packet): New function.
2820
        * server.c (main): Call putpkt_binary if a handler sets the packet
2821
        length.  Save the length of the incoming packet.  Handle 'X'.
2822
        * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
2823
 
2824
2006-06-21  Daniel Jacobowitz  
2825
 
2826
        * server.c (handle_query): Handle qSupported.
2827
 
2828
2006-05-30  Daniel Jacobowitz  
2829
 
2830
        * remote-utils.c (all_symbols_looked_up): New variable.
2831
        (look_up_one_symbol): Check it.
2832
        * server.h (look_up_one_symbol): New declaration.
2833
        * thread-db.c (thread_db_init): Set all_symbols_looked_up.
2834
 
2835
2006-05-30  Daniel Jacobowitz  
2836
 
2837
        * Makefile.in (linux-arm-low.o): Update dependencies.
2838
        * linux-arm-low.c: Include "gdb_proc_service.h".
2839
        (PTRACE_GET_THREAD_AREA): Define.
2840
        (ps_get_thread_area): New function.
2841
 
2842
2006-05-09  Nathan Sidwell  
2843
 
2844
        * configure.srv (m68k*-*-uclinux*): New target.
2845
        * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
2846
        (linux_resume_one_process): Remove extraneous cast.
2847
        (linux_read_offsets): New.
2848
        (linux_target_op): Add linux_read_offsets on mmuless systems.
2849
        * server.c (handle_query): Add qOffsets logic.
2850
        * target.h (struct target_ops): Add read_offsets.
2851
 
2852
2006-03-15  Daniel Jacobowitz  
2853
 
2854
        * linux-mips-low.c: Include  and "gdb_proc_service.h".
2855
        (PTRACE_GET_THREAD_AREA): Define.
2856
        (ps_get_thread_area): New function.
2857
        * Makefile.in (linux-i386-low.o, linux-mips-low.o)
2858
        (linux-x86-64-low.o): Update.
2859
 
2860
2006-03-15  Daniel Jacobowitz  
2861
 
2862
        * configure.ac: Remove checks for prfpregset_t.
2863
        * gdb_proc_service.h: New file.
2864
        * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
2865
        new "gdb_proc_service.h".
2866
        * proc-service.c: Likewise.
2867
        (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
2868
        (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
2869
        * Makefile.in (gdb_proc_service_h): Updated.
2870
        * configure, config.in: Regenerated.
2871
 
2872
2006-03-03  Daniel Jacobowitz  
2873
 
2874
        * remote-utils.c (prepare_resume_reply): Move declaration
2875
        of gdb_id_from_wait to the top of the block.
2876
 
2877
2006-02-15  Daniel Jacobowitz  
2878
 
2879
        * linux-low.c (regsets_store_inferior_registers): Read the regset
2880
        from the target before filling it.
2881
 
2882
2006-02-08  Daniel Jacobowitz  
2883
 
2884
        * server.c (attach_inferior): Return SIGTRAP for a successful
2885
        attach.
2886
 
2887
2006-02-01  Daniel Jacobowitz  
2888
 
2889
        * Makefile.in (OBS): Add version.o.
2890
        (STAGESTUFF): Delete.
2891
        (version.o): Add dependencies.
2892
        (version.c): Replace rule.
2893
        (clean): Remove version.c.
2894
        * server.c (gdbserver_version): New.
2895
        (gdbserver_usage): Use printf.
2896
        (main): Handle --version and --help.
2897
        * server.h (version, host_name): Add declarations.
2898
 
2899
2005-12-23  Eli Zaretskii  
2900
 
2901
        * linux-arm-low.c:
2902
        * linux-arm-low.c:
2903
        * inferiors.c:
2904
        * i387-fp.h:
2905
        * i387-fp.c:
2906
        * gdbreplay.c:
2907
        * regcache.c:
2908
        * proc-service.c:
2909
        * mem-break.h:
2910
        * mem-break.c:
2911
        * linux-x86-64-low.c:
2912
        * linux-sh-low.c:
2913
        * linux-s390-low.c:
2914
        * linux-ppc64-low.c:
2915
        * linux-ppc-low.c:
2916
        * linux-mips-low.c:
2917
        * linux-m68k-low.c:
2918
        * linux-m32r-low.c:
2919
        * linux-low.h:
2920
        * linux-low.c:
2921
        * linux-ia64-low.c:
2922
        * linux-i386-low.c:
2923
        * linux-crisv32-low.c:
2924
        * thread-db.c:
2925
        * terminal.h:
2926
        * target.h:
2927
        * target.c:
2928
        * server.h:
2929
        * server.c:
2930
        * remote-utils.c:
2931
        * regcache.h:
2932
        * utils.c:
2933
        * Makefile.in:
2934
        * configure.ac:
2935
        * gdbserver.1: Add (C) after Copyright.  Update the FSF
2936
        address.
2937
 
2938
2005-11-13  Daniel Jacobowitz  
2939
 
2940
        * linux-arm-low.c (arm_eabi_breakpoint): New variable.
2941
        (arm_breakpoint_at): Recognize both breakpoints.
2942
        (the_low_target): Use the correct breakpoint instruction.
2943
 
2944
2005-11-02  Daniel Jacobowitz  
2945
 
2946
        * configure.srv (x86_64-*-linux*): Turn on thread_db support.
2947
        * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
2948
        (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
2949
        (the_low_target): Update.
2950
 
2951
2005-10-25  Andreas Schwab  
2952
 
2953
        * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
2954
 
2955
        * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
2956
        (ia64_num_regs): Reduce to 462.
2957
 
2958
2005-09-17  Daniel Jacobowitz  
2959
 
2960
        * acinclude.m4: Correct quoting.
2961
        * aclocal.m4: Regenerated.
2962
 
2963
        Suggested by SZOKOVACS Robert :
2964
        * thread-db.c (thread_db_err_str): Handle TD_VERSION.
2965
        (thread_db_init): Call thread_db_err_str.
2966
        * configure.ac: Check for TD_VERSION.
2967
        * config.in, configure: Regenerated.
2968
 
2969
2005-07-31  Kaveh R. Ghazi  
2970
 
2971
        * server.h (error, fatal, warning): Add ATTR_FORMAT.
2972
 
2973
2005-07-13  Daniel Jacobowitz  
2974
 
2975
        * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
2976
        is not available.  Define HAVE_PTRACE_GETREGS if it is.
2977
        * config.in, configure: Regenerated.
2978
        * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
2979
        * linux-i386-low.c, linux-m68k-low.c: Update to use
2980
        HAVE_PTRACE_GETREGS.
2981
        * linux-low.c (regsets_fetch_inferior_registers)
2982
        (regsets_store_inferior_registers): Only return 0 if we processed
2983
        GENERAL_REGS.
2984
        * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
2985
        * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
2986
 
2987
2005-07-13  Daniel Jacobowitz  
2988
 
2989
        * inferiors.c (struct thread_info): Add gdb_id.
2990
        (add_thread): Add gdb_id argument.
2991
        (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
2992
        * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
2993
        calls to add_thread.
2994
        * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
2995
        * server.c (handle_query): Use thread_to_gdb_id.
2996
        (handle_v_cont, main): Use gdb_id_to_thread_id.
2997
        * server.h (add_thread): Update prototype.
2998
        (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
2999
        prototypes.
3000
 
3001
2005-07-13  Daniel Jacobowitz  
3002
 
3003
        * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
3004
        left-padded registers.
3005
        * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
3006
        * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
3007
 
3008
2005-07-01  Steve Ellcey  
3009
 
3010
        * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
3011
        * configure: Regenerate.
3012
        * config.in: Regenerate.
3013
        * server.h (NEED_DECLARATION_STRERROR):
3014
        Replace with !HAVE_DECL_STRERROR.
3015
 
3016
2005-06-16  Daniel Jacobowitz  
3017
 
3018
        * linux-low.c (linux_wait, linux_send_signal): Don't test
3019
        an unsigned long variable for > 0 if it could be MAX_ULONG.
3020
        * server.c (myresume): Likewise.
3021
        * target.c (set_desired_inferior): Likewise.
3022
 
3023
2005-06-13  Mark Kettenis  
3024
 
3025
        * configure.ac: Simplify and improve check for socklen_t.
3026
        * configure, config.in: Regenerate.
3027
 
3028
2005-06-12  Daniel Jacobowitz  
3029
 
3030
        * acconfig.h: Remove.
3031
        * configure.ac: Add a test for socklen_t.  Use three-argument
3032
        AC_DEFINE throughout.
3033
        * config.in: Regenerated using autoheader 2.59.
3034
        * configure: Regenerated.
3035
 
3036
        * gdbreplay.c (socklen_t): Provide a default.
3037
        (remote_open): Use socklen_t.
3038
        * remote-utils.c (socklen_t): Provide a default.
3039
        (remote_open): Use socklen_t.
3040
        (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
3041
        unsigned char.
3042
 
3043
        * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
3044
        char for buffers.
3045
        * linux-low.c (linux_read_memory, linux_write_memory)
3046
        (linux_read_auxv): Likewise.
3047
        * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
3048
        (check_mem_write): Likewise.
3049
        * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
3050
        Likewise.
3051
        * regcache.c (struct inferior_rgcache_data, registers_to_string)
3052
        (registers_from_string, register_data): Likewise.
3053
        * server.c (handle_query, main): Likewise.
3054
        * server.h (convert_ascii_to_int, convert_int_to_ascii)
3055
        (decode_M_packet): Likewise.
3056
        * target.c (read_inferior_memory, write_inferior_memory): Likewise.
3057
        * target.h (struct target_ops): Update read_memory, write_memory,
3058
        and read_auxv.
3059
        (read_inferior_memory, write_inferior_memory): Update.
3060
        * linux-low.h (struct linux_target_ops): Change type of breakpoint
3061
        to unsigned char *.
3062
        * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
3063
        linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
3064
        linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
3065
        linux-s390-low.c, linux-sh-low.c: Update for changes in
3066
        read_inferior_memory and the_low_target->breakpoint.
3067
 
3068
2005-05-28  Daniel Jacobowitz  
3069
 
3070
        * Makefile.in (SFILES): Add linux-ppc64-low.c.
3071
        (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
3072
        * configure.srv: Add powerpc64-*-linux*.
3073
        * linux-ppc64-low.c: New file.
3074
 
3075
2005-05-23  Orjan Friberg  
3076
 
3077
        * linux-cris-low.c: New file with support for CRIS.
3078
        * linux-crisv32-low.c: Ditto for CRISv32.
3079
        * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
3080
        (clean): Add reg-cris.c and reg-crisv32.c.
3081
        Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
3082
        reg-crisv32.o, and reg-crisv32.c to make rules.
3083
        * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
3084
        recognized targets.
3085
 
3086
2005-05-16  Ulrich Weigand  
3087
 
3088
        * linux-low.c (fetch_register): Ensure buffer size is a multiple
3089
        of sizeof (PTRACE_XFER_TYPE).
3090
        (usr_store_inferior_registers): Likewise.  Zero out excess bytes.
3091
 
3092
2005-05-12  Orjan Friberg  
3093
 
3094
        * target.h (struct target_ops): Add insert_watchpoint,
3095
        remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
3096
        pointers for hardware watchpoint support.
3097
        * linux-low.h (struct linux_target_ops): Ditto.
3098
        * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
3099
        (linux_stopped_by_watchpoint, linux_stopped_data_address): New.  Add
3100
        to linux_target_ops.
3101
        * remote-utils.c (prepare_resume_reply): Add watchpoint information to
3102
        reply packet.
3103
        * server.c (main): Recognize 'Z' and 'z' packets.
3104
 
3105
2005-05-10  Ulrich Weigand  
3106
 
3107
        * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
3108
        (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
3109
        (the_low_target): Add new members.
3110
 
3111
2005-05-04  Daniel Jacobowitz  
3112
 
3113
        * proc-service.c (ps_lgetregs): Search all_processes instead of
3114
        all_threads.
3115
 
3116
2005-05-04  Daniel Jacobowitz  
3117
 
3118
        * server.c (start_inferior): Change return type to int.
3119
        (attach_inferior): Change sigptr to int *.
3120
        (handle_v_cont, handle_v_requests): Change signal to int *.
3121
        (main): Change signal to int.
3122
 
3123
2005-04-15  Kei Sakamoto  
3124
 
3125
        * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
3126
        * configure.srv: Add m32r*-*-linux*.
3127
        * linux-m32r-low.c: New file.
3128
 
3129
2005-03-04  Daniel Jacobowitz  
3130
 
3131
        * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
3132
 
3133
2005-03-03  Daniel Jacobowitz  
3134
 
3135
        * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
3136
        Take unsigned long arguments for PIDs.
3137
        * linux-low.c (add_process, linux_attach_lwp, linux_attach)
3138
        (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
3139
        (wait_for_sigstop, linux_resume_one_process)
3140
        (regsets_fetch_inferior_registers, linux_send_signal)
3141
        (linux_read_auxv): Likewise.  Update the types of variables holding
3142
        PIDs.  Update format string specifiers.
3143
        * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
3144
        * remote-utils.c (prepare_resume_reply): Likewise.
3145
        * server.c (cont_thread, general_thread, step_thread)
3146
        (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
3147
        unsigned long.
3148
        (handle_query): Update format specifiers.
3149
        (handle_v_cont, main): Use strtoul for thread IDs.
3150
        * server.h (struct inferior_list_entry): Use unsigned long for ID.
3151
        (add_thread, find_inferior_id, change_inferior_id, cont_thread)
3152
        (general_thread, step_thread, thread_from_wait)
3153
        (old_thread_from_wait): Update.
3154
        * target.h (struct thread_resume): Use unsigned long for THREAD.
3155
        (struct target_ops): Use unsigned long for arguments to attach and
3156
        thread_alive.
3157
 
3158
2005-02-24  Daniel Jacobowitz  
3159
 
3160
        * acinclude.m4: Include bfd/bfd.m4 directly.
3161
        * configure.ac: Use AC_ARG_PROGRAM.  Suggested by Aron Griffis
3162
        .
3163
        * aclocal.m4, configure: Regenerated.
3164
 
3165
2005-01-07  Andrew Cagney  
3166
 
3167
        * configure.ac: Rename configure.in, require autoconf 2.59.
3168
        * configure: Re-generate.
3169
 
3170
2004-12-08  Daniel Jacobowitz  
3171
 
3172
        * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area.  Reset
3173
        LIBS when finished.
3174
        * aclocal.m4: Regenerated.
3175
        * configure: Regenerated.
3176
 
3177
2004-11-21  Andreas Schwab  
3178
 
3179
        * linux-m68k-low.c (m68k_num_gregs): Define.
3180
        (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
3181
        (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
3182
        (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
3183
        (m68k_breakpoint_at): New.  Add to the_low_target.
3184
 
3185
        * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
3186
        srv_linux_thread_db to yes.
3187
 
3188
2004-10-20  Joel Brobecker  
3189
 
3190
        * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
3191
        (ARCH_SET_FS): Likewise.
3192
        (ARCH_GET_FS): Likewise.
3193
        (ARCH_GET_GS): Likewise.
3194
 
3195
2004-10-16  Daniel Jacobowitz  
3196
 
3197
        * linux-i386-low.c (ps_get_thread_area): New.
3198
        * linux-x86-64-low.c (ps_get_thread_area): New.
3199
        * linux-low.c: Include .
3200
        (linux_kill_one_process): Don't kill the first thread here.
3201
        (linux_kill): Kill the first thread here.
3202
        (kill_lwp): New function.
3203
        (send_sigstop, linux_send_signal): Use it.
3204
        * proc-service.c: Clean up #ifdefs.
3205
        (fpregset_info): Delete.
3206
        (ps_lgetregs): Update and enable implementation.
3207
        (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
3208
        implementations.
3209
        * remote-utils.c (struct sym_cache, symbol_cache): New.
3210
        (input_interrupt): Print a clearer message.
3211
        (async_io_enabled): New variable.
3212
        (enable_async_io, disable_async_io): Use it.  Update comments.
3213
        (look_up_one_symbol): Use the symbol cache.
3214
        * thread-db.c (thread_db_look_up_symbols): New function.
3215
        (thread_db_init): Update comments.  Call thread_db_look_up_symbols.
3216
 
3217
2004-10-16  Daniel Jacobowitz  
3218
 
3219
        * configure.in: Test for -rdynamic.
3220
        * configure: Regenerated.
3221
        * Makefile (INTERNAL_LDFLAGS): New.
3222
        (gdbserver, gdbreplay): Use it.
3223
 
3224
2004-09-02  Andrew Cagney  
3225
 
3226
        * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
3227
 
3228
2004-03-23  Daniel Jacobowitz  
3229
 
3230
        * linux-low.c (linux_wait): Clear all_processes list also.
3231
 
3232
2004-03-12  Daniel Jacobowitz  
3233
 
3234
        * linux-low.c: Include .  Remove extern declaration of
3235
        errno.
3236
 
3237
2004-03-12  Daniel Jacobowitz  
3238
 
3239
        * gdbreplay.c, server.h, utils.c: Update copyright years.
3240
 
3241
2004-03-04  Nathan J. Williams  
3242
 
3243
        * server.c (main): Print child status or termination signal from
3244
        variable 'signal', not 'sig'.
3245
 
3246
2004-03-04  Nathan J. Williams  
3247
 
3248
        * linux-low.c (linux_read_memory): Change return type to
3249
        int.  Check for and return error from ptrace().
3250
        * target.c (read_inferior_memory): Change return type to int.  Pass
3251
        back return status from the_target->read_memory().
3252
        * target.h (struct target_ops): Adapt *read_memory() prototype.
3253
        Update comment.
3254
        (read_inferior_memory): Adapt prototype.
3255
        * server.c (main): Return an error packet if
3256
        read_inferior_memory() returns an error.
3257
 
3258
2004-03-04  Daniel Jacobowitz  
3259
 
3260
        * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
3261
        Unify with other clean targets.
3262
 
3263
2004-02-29  Daniel Jacobowitz  
3264
 
3265
        * server.c (handle_v_cont): Call set_desired_inferior.
3266
 
3267
2004-02-29  Daniel Jacobowitz  
3268
 
3269
        * remote-utils.c (prepare_resume_reply): Always supply "thread:".
3270
 
3271
2004-02-29  Daniel Jacobowitz  
3272
 
3273
        * linux-low.c (linux_wait): Unblock async I/O.
3274
        (linux_resume): Block and enable async I/O.
3275
        * remote-utils.c (block_async_io, unblock_async_io): New functions.
3276
        * server.h (block_async_io, unblock_async_io): Add prototypes.
3277
 
3278
2004-02-29  Daniel Jacobowitz  
3279
 
3280
        * remote-utils.c (remote_open): Print a status notice after
3281
        opening a TCP port.
3282
        * server.c (attach_inferior): Print a status notice after
3283
        attaching.
3284
 
3285
2004-02-29  Daniel Jacobowitz  
3286
 
3287
        * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
3288
 
3289
2004-02-26  Daniel Jacobowitz  
3290
 
3291
        * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
3292
        error packet.
3293
        * server.c, target.h: Update copyright years.
3294
 
3295
2004-02-25  Roland McGrath  
3296
 
3297
        * target.h (struct target_ops): New member `read_auxv'.
3298
        * server.c (handle_query): Handle qPart:auxv:read: query using that.
3299
        * linux-low.c (linux_read_auxv): New function.
3300
        (linux_target_ops): Initialize `read_auxv' member to that.
3301
 
3302
2004-02-17  Ulrich Weigand 
3303
 
3304
        Committed by Jim Blandy  .
3305
 
3306
        * linux-s390-low.c (s390_num_regs): Update.
3307
        (s390_regmap): Remove control registers.  Use __s390x__ predefine
3308
        instead of GPR_SIZE to distiguish s390 and s390x targets.
3309
 
3310
2004-01-31  Daniel Jacobowitz  
3311
 
3312
        * linux-low.c: Update copyright year.
3313
        (check_removed_breakpoint): Clear pending_is_breakpoint.
3314
        (linux_set_resume_request, linux_queue_one_thread)
3315
        (resume_status_pending_p): New functions.
3316
        (linux_continue_one_thread): Use process->resume.
3317
        (linux_resume): Only resume threads if there are no pending events.
3318
        * linux-low.h (struct process_info): Add resume request
3319
        pointer.
3320
 
3321
2004-01-30  Daniel Jacobowitz  
3322
 
3323
        * regcache.c (new_register_cache): Clear the allocated register
3324
        buffer.  Suggested by Atsushi Nemoto .
3325
 
3326
2003-10-13  Daniel Jacobowitz  
3327
 
3328
        * linux-low.c (linux_resume): Take a struct thread_resume *
3329
        argument.
3330
        (linux_wait): Update call.
3331
        (resume_ptr): New static variable.
3332
        (linux_continue_one_thread): Renamed from
3333
        linux_continue_one_process.  Use resume_ptr.
3334
        (linux_resume): Use linux_continue_one_thread.
3335
        * server.c (handle_v_cont, handle_v_requests): New functions.
3336
        (myresume): New function.
3337
        (main): Handle 'v' case.
3338
        * target.h (struct thread_resume): New type.
3339
        (struct target_ops): Change argument of "resume" to struct
3340
        thread_resume *.
3341
        (myresume): Delete macro.
3342
 
3343
2003-08-08  H.J. Lu  
3344
 
3345
        * Makefile.in (install-only): Create dest dir. Support DESTDIR.
3346
        (uninstall): Support DESTDIR.
3347
 
3348
Mon Jul 21 20:09:34 UTC 2003  Brendan Conoboy  
3349
 
3350
        * configure.srv: Add xscale*linux copy of arm*linux entry.
3351
 
3352
2003-07-24  Daniel Jacobowitz  
3353
 
3354
        * linux-arm-low.c (arm_reinsert_addr): New function.
3355
        (the_low_target): Add arm_reinsert_addr.
3356
 
3357
2003-07-08  Mark Kettenis  
3358
 
3359
        * mem-break.c: Remove whitespace at end of file.
3360
 
3361
2003-06-28  Daniel Jacobowitz  
3362
 
3363
        * configure.in: Check whether we need to prototype strerror.
3364
        * server.h: Optionally prototype strerror.
3365
        * gdbreplay.c (perror_with_name): Use strerror.
3366
        * linux-low.c (linux_attach_lwp): Use strerror.
3367
        * utils.c (perror_with_name): Use strerror.
3368
        * config.in, configure: Regenerated.
3369
 
3370
2003-06-28  Daniel Jacobowitz  
3371
 
3372
        * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
3373
        SUGIOKA Toshinobu .
3374
 
3375
2003-06-20  Daniel Jacobowitz  
3376
 
3377
        * Makefile.in (SFILES): Update.
3378
        * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
3379
        low-sun3.c: Remove files.
3380
 
3381
2003-06-17  Daniel Jacobowitz  
3382
 
3383
        * linux-low.c: Move comment to linux_thread_alive where it belonged.
3384
        (linux_detach_one_process, linux_detach): New functions.
3385
        (linux_target_ops): Add linux_detach.
3386
        * server.c (main): Handle 'D' packet.
3387
        * target.h (struct target_ops): Add "detach" member.
3388
        (detach_inferior): Define.
3389
 
3390
2003-06-13  Mark Kettenis  
3391
 
3392
        From Kelley Cook  :
3393
        * configure.srv: Accept i[34567]86 variants.
3394
 
3395
2003-06-05  Daniel Jacobowitz  
3396
 
3397
        * linux-low.c (linux_wait_for_event): Correct comment typos.
3398
        (linux_resume_one_process): Call check_removed_breakpoint.
3399
        (linux_send_signal): New function.
3400
        (linux_target_ops): Add linux_send_signal.
3401
        * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
3402
        of kill.
3403
        * target.h (struct target_ops): Add send_signal.
3404
 
3405
2003-05-29  Jim Blandy  
3406
 
3407
        * linux-low.c (usr_store_inferior_registers): Transfer buf in
3408
        PTRACE_XFER_TYPE-sized chunks, not int-sized chunks.  Otherwise,
3409
        if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
3410
        away part of the register's value.
3411
 
3412
2003-03-26  Daniel Jacobowitz  
3413
 
3414
        * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
3415
        (linux_wait_for_event, linux_init_signals): Likewise.
3416
 
3417
2003-03-17  Daniel Jacobowitz  
3418
 
3419
        * configure.in: Check for stdlib.h.
3420
        * configure: Regenerated.
3421
        * config.in: Regenerated.
3422
 
3423
2003-01-04  Andreas Schwab  
3424
 
3425
        * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
3426
 
3427
2003-01-02  Andrew Cagney  
3428
 
3429
        * Makefile.in: Remove obsolete code.
3430
 
3431
2002-11-20  Daniel Jacobowitz  
3432
 
3433
        * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
3434
        defined(PT_FPR0_HI).
3435
 
3436
2002-11-17  Stuart Hughes  
3437
 
3438
        * linux-arm-low.c (arm_num_regs): Increase.
3439
        (arm_regmap): Include status register.
3440
 
3441
2002-11-17  Daniel Jacobowitz  
3442
 
3443
        * linux-low.c (register_addr): Remove incorrect -1 check.
3444
 
3445
2002-08-29  Daniel Jacobowitz  
3446
 
3447
        * linux-low.c (linux_create_inferior): Call setpgid.  Return
3448
        the new PID.
3449
        (unstopped_p, linux_signal_pid): Remove.
3450
        (linux_target_ops): Remove linux_signal_pid.
3451
        * remote-utils.c (putpkt, input_interrupt): Use signal_pid
3452
        global instead of target method.
3453
        * target.h (struct target_ops): Remove signal_pid.  Update comment
3454
        for create_inferior.
3455
        * server.c (signal_pid): New variable.
3456
        (create_inferior): Set signal_pid.  Block SIGTTOU and SIGTTIN in
3457
        gdbserver.  Set the child to be the foreground process group.
3458
        (attach_inferior): Set signal_pid.
3459
 
3460
2002-08-23  Daniel Jacobowitz  
3461
 
3462
        * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
3463
 
3464
2002-08-20  Jim Blandy  
3465
 
3466
        * Makefile.in (LDFLAGS): Allow the configure script to establish a
3467
        default for this.
3468
 
3469
2002-08-01  Andrew Cagney  
3470
 
3471
        * Makefile.in: Make chill references obsolete.
3472
 
3473
2002-07-24  Kevin Buettner  
3474
 
3475
        * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
3476
        * configure: Regenerate.
3477
        * config.in: Regenerate.
3478
 
3479
2002-07-09  David O'Brien  
3480
 
3481
        * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
3482
        (perror_with_name, remote_close, remote_open, expect, play): Static.
3483
 
3484
2002-07-04  Michal Ludvig  
3485
 
3486
        * linux-x86-64-low.c (x86_64_regmap): Make it an array of
3487
        byte offsets instead of an array of indexes.
3488
        (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
3489
 
3490
2002-06-13  Daniel Jacobowitz  
3491
 
3492
        * regcache.c: Add comment.
3493
 
3494
2002-06-11  Daniel Jacobowitz  
3495
 
3496
        * thread-db.c: New file.
3497
        * proc-service.c: New file.
3498
        * acinclude.m4: New file.
3499
        * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
3500
        proc-service.o, and thread-db.o.
3501
        (linux-low.o): Add USE_THREAD_DB.
3502
        * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
3503
        HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
3504
        * aclocal.m4: Regenerated.
3505
        * config.in: Regenerated.
3506
        * configure: Regenerated.
3507
        * configure.in: Check for proc_service.h, sys/procfs.h,
3508
        thread_db.h, and linux/elf.h headrs.
3509
        Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
3510
        PRFPREGSET_T_BROKEN.  Introduce srv_thread_depfiles and USE_THREAD_DB.
3511
        Check for -lthread_db and thread support.
3512
        * configure.srv: Enable thread_db support for ARM, i386, MIPS,
3513
        PowerPC, and SuperH.
3514
        * i387-fp.c: Constify arguments.
3515
        * i387-fp.h: Likewise.
3516
        * inferiors.c: (struct thread_info): Renamed from
3517
        `struct inferior_info'.  Remove PID member.  Use generic inferior
3518
        list header.  All uses updated.
3519
        (inferiors, signal_pid): Removed.
3520
        (all_threads): New variable.
3521
        (get_thread): Define.
3522
        (add_inferior_to_list): New function.
3523
        (for_each_inferior): New function.
3524
        (change_inferior_id): New function.
3525
        (add_inferior): Removed.
3526
        (remove_inferior): New function.
3527
        (add_thread): New function.
3528
        (free_one_thread): New function.
3529
        (remove_thread): New function.
3530
        (clear_inferiors): Use for_each_inferior and free_one_thread.
3531
        (find_inferior): New function.
3532
        (find_inferior_id): New function.
3533
        (inferior_target_data): Update argument type.
3534
        (set_inferior_target_data): Likewise.
3535
        (inferior_regcache_data): Likewise.
3536
        (set_inferior_regcache_data): Likewise.
3537
        * linux-low.c (linux_bp_reinsert): Remove.
3538
        (all_processes, stopping_threads, using_thrads)
3539
        (struct pending_signals, debug_threads, pid_of): New.
3540
        (inferior_pid): Replace with macro.
3541
        (struct inferior_linux_data): Remove.
3542
        (get_stop_pc, add_process): New functions.
3543
        (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
3544
        Use add_process and add_thread.
3545
        (linux_attach_lwp): New function, based on old linux_attach.  Use
3546
        add_process and add_thread.  Set stop_expected for new threads.
3547
        (linux_attach): New function.
3548
        (linux_kill_one_process): New function.
3549
        (linux_kill): Kill all LWPs.
3550
        (linux_thread_alive): Use find_inferior_id.
3551
        (check_removed_breakpoints, status_pending_p): New functions.
3552
        (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
3553
        Update.  Use WNOHANG.  Wait for cloned processes also.  Update process
3554
        struct for the found process.
3555
        (linux_wait_for_event): New function.
3556
        (linux_wait): Use it.  Support LWPs.
3557
        (send_sigstop, wait_for_sigstop, stop_all_processes)
3558
        (linux_resume_one_process, linux_continue_one_process): New functions.
3559
        (linux_resume): Support LWPs.
3560
        (REGISTER_RAW_SIZE): Remove.
3561
        (fetch_register): Use register_size instead.  Call supply_register.
3562
        (usr_store_inferior_registers): Likewise.  Call collect_register.
3563
        Fix recursive case.
3564
        (regsets_fetch_inferior_registers): Improve error message.
3565
        (regsets_store_inferior_registers): Add debugging.
3566
        (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
3567
        (unstopped_p, linux_signal_pid): New functions.
3568
        (linux_target_ops): Add linux_signal_pid.
3569
        (linux_init_signals): New function.
3570
        (initialize_low): Call it.  Initialize using_threads.
3571
        * regcache.c (inferior_regcache_data): Add valid
3572
        flag.
3573
        (get_regcache): Fetch registers lazily.  Add fetch argument
3574
        and update all callers.
3575
        (regcache_invalidate_one, regcache_invalidate): New
3576
        functions.
3577
        (new_register_cache): Renamed from create_register_cache.
3578
        Return the new regcache.
3579
        (free_register_cache): Change argument to a void *.
3580
        (registers_to_string, registers_from_string): Call get_regcache
3581
        with fetch flag set.
3582
        (register_data): Make static.  Pass fetch flag to get_regcache.
3583
        (supply_register): Call get_regcache with fetch flag clear.
3584
        (collect_register): Call get_regcache with fetch flag set.
3585
        (collect_register_as_string): New function.
3586
        * regcache.h: Update.
3587
        * remote-utils.c (putpkt): Flush after debug output and use
3588
        stderr.
3589
        Handle input interrupts while waiting for an ACK.
3590
        (input_interrupt): Use signal_pid method.
3591
        (getpkt): Flush after debug output and use stderr.
3592
        (outreg): Use collect_register_as_string.
3593
        (new_thread_notify, dead_thread_notify): New functions.
3594
        (prepare_resume_reply): Check using_threads.  Set thread_from_wait
3595
        and general_thread.
3596
        (look_up_one_symbol): Flush after debug output.
3597
        * server.c (step_thread, server_waiting): New variables.
3598
        (start_inferior): Don't use signal_pid.  Update call to mywait.
3599
        (attach_inferior): Update call to mywait.
3600
        (handle_query): Handle qfThreadInfo and qsThreadInfo.
3601
        (main): Don't fetch/store registers explicitly.  Use
3602
        set_desired_inferior.  Support proposed ``Hs'' packet.  Update
3603
        calls to mywait.
3604
        * server.h: Update.
3605
        (struct inferior_list, struct_inferior_list_entry): New.
3606
        * target.c (set_desired_inferior): New.
3607
        (write_inferior_memory): Constify.
3608
        (mywait): New function.
3609
        * target.h: Update.
3610
        (struct target_ops): New signal_pid method.
3611
        (mywait): Removed macro, added prototype.
3612
 
3613
        * linux-low.h (regset_func): Removed.
3614
        (regset_fill_func, regset_store_func): New.
3615
        (enum regset_type): New.
3616
        (struct regset_info): Add type field.  Use new operation types.
3617
        (struct linux_target_ops): stop_pc renamed to get_pc.
3618
        Add decr_pc_after_break and breakpoint_at.
3619
        (get_process, get_thread_proess, get_process_thread)
3620
        (strut process_info, all_processes, linux_attach_lwp)
3621
        (thread_db_init): New.
3622
 
3623
        * linux-arm-low.c (arm_get_pc, arm_set_pc,
3624
        arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
3625
        (the_low_target): Add new members.
3626
        * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
3627
        (i386_store_fpxregset): Constify.
3628
        (target_regsets): Add new kind identifier.
3629
        (i386_get_pc): Renamed from i386_stop_pc.  Simplify.
3630
        (i386_set_pc): Add debugging.
3631
        (i386_breakpoint_at): New function.
3632
        (the_low_target): Add new members.
3633
        * linux-mips-low.c (mips_get_pc, mips_set_pc)
3634
        (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
3635
        (mips_breakpoint_at): New.
3636
        (the_low_target): Add new members.
3637
        * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
3638
        (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
3639
        (the_low_target): Add new members.
3640
        * linux-sh-low.c (sh_get_pc, sh_set_pc)
3641
        (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
3642
        (the_low_target): Add new members.
3643
        * linux-x86-64-low.c (target_regsets): Add new kind
3644
        identifier.
3645
 
3646
2002-05-15  Daniel Jacobowitz  
3647
 
3648
        From Martin Pool :
3649
        * server.c (gdbserver_usage): New function.
3650
        (main): Call it.
3651
 
3652
2002-05-14  Daniel Jacobowitz  
3653
 
3654
        * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
3655
        stop_at -> stop_pc.
3656
 
3657
2002-05-04  Andrew Cagney  
3658
 
3659
        * Makefile.in: Remove obsolete code.
3660
 
3661
2002-04-24  Michal Ludvig  
3662
 
3663
        * linux-low.c (regsets_fetch_inferior_registers),
3664
        (regsets_store_inferior_registers): Removed cast to int from
3665
        ptrace() calls.
3666
        * regcache.h: Added declaration of struct inferior_info.
3667
 
3668
2002-04-20  Daniel Jacobowitz  
3669
 
3670
        * inferiors.c (struct inferior_info): Add regcache_data.
3671
        (add_inferior): Call create_register_cache.
3672
        (clear_inferiors): Call free_register_cache.
3673
        (inferior_regcache_data, set_inferior_regcache_data): New functions.
3674
        * regcache.c (struct inferior_regcache_data): New.
3675
        (registers): Remove.
3676
        (get_regcache): New function.
3677
        (create_register_cache, free_register_cache): New functions.
3678
        (set_register_cache): Don't initialize the register cache here.
3679
        (registers_to_string, registers_from_string, register_data): Call
3680
        get_regcache.
3681
        * regcache.h: Add prototypes.
3682
        * server.h: Likewise.
3683
 
3684
2002-04-20  Daniel Jacobowitz  
3685
 
3686
        * mem-break.c: New file.
3687
        * mem-break.h: New file.
3688
        * Makefile.in: Add mem-break.o rule; update server.h
3689
        dependencies.
3690
        * inferiors.c (struct inferior_info): Add target_data
3691
        member.
3692
        (clear_inferiors): Free target_data member if set.
3693
        (inferior_target_data, set_inferior_target_data): New functions.
3694
        * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
3695
        (i386_stop_pc, i386_set_pc): New.  Add to the_low_target.
3696
        * linux-low.c (linux_bp_reinsert): New variable.
3697
        (struct inferior_linux_data): New.
3698
        (linux_create_inferior): Use set_inferior_target_data.
3699
        (linux_attach): Likewise.  Call add_inferior.
3700
        (linux_wait_for_one_inferior): New function.
3701
        (linux_wait): Call it.
3702
        (linux_write_memory): Add const.
3703
        (initialize_low): Call set_breakpoint_data.
3704
        * linux-low.h (struct linux_target_ops): Add breakpoint
3705
        handling members.
3706
        * server.c (attach_inferior): Remove extra add_inferior
3707
        call.
3708
        * server.h: Include mem-break.h.  Update inferior.c
3709
        prototypes.
3710
        * target.c (read_inferior_memory)
3711
        (write_inferior_memory): New functions.
3712
        * target.h (read_inferior_memory)
3713
        (write_inferior_memory): Change macros to prototypes.
3714
        (struct target_ops): Update comments.  Add const to write_memory
3715
        definition.
3716
 
3717
2002-04-11  Daniel Jacobowitz  
3718
 
3719
        * linux-low.c (usr_store_inferior_registers): Support
3720
        registers which are allowed to fail to store.
3721
        * linux-low.h (linux_target_ops): Likewise.
3722
        * linux-ppc-low.c (ppc_regmap): Support FPSCR.
3723
        (ppc_cannot_store_register): FPSCR may not be storable.
3724
 
3725
2002-04-09  Daniel Jacobowitz  
3726
 
3727
        * server.h: Include  if HAVE_STRING_H.
3728
        * ChangeLog: Correct paths in last ChangeLog entry.
3729
 
3730
2002-04-09  Daniel Jacobowitz  
3731
 
3732
        * linux-low.h: Remove obsolete prototypes.
3733
        (struct linux_target_ops): New.
3734
        (extern the_low_target): New.
3735
        * linux-low.c (num_regs, regmap): Remove declarations.
3736
        (register_addr): Use the_low_target explicitly.
3737
        (fetch_register): Likewise.
3738
        (usr_fetch_inferior_registers): Likewise.
3739
        (usr_store_inferior_registers): Likewise.
3740
        * linux-arm-low.c (num_regs): Remove.
3741
        (arm_num_regs): Define.
3742
        (arm_regmap): Renamed from regmap, made static.
3743
        (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
3744
        made static.
3745
        (arm_cannot_store_register): Renamed from cannot_store_register,
3746
        made static.
3747
        (the_low_target): New.
3748
        * linux-i386-low.c (num_regs): Remove.
3749
        (i386_num_regs): Define.
3750
        (i386_regmap): Renamed from regmap, made static.
3751
        (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
3752
        made static.
3753
        (i386_cannot_store_register): Renamed from cannot_store_register,
3754
        made static.
3755
        (the_low_target): New.
3756
        * linux-ia64-low.c (num_regs): Remove.
3757
        (ia64_num_regs): Define.
3758
        (ia64_regmap): Renamed from regmap, made static.
3759
        (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
3760
        made static.
3761
        (ia64_cannot_store_register): Renamed from cannot_store_register,
3762
        made static.
3763
        (the_low_target): New.
3764
        * linux-m68k-low.c (num_regs): Remove.
3765
        (m68k_num_regs): Define.
3766
        (m68k_regmap): Renamed from regmap, made static.
3767
        (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
3768
        made static.
3769
        (m68k_cannot_store_register): Renamed from cannot_store_register,
3770
        made static.
3771
        (the_low_target): New.
3772
        * linux-mips-low.c (num_regs): Remove.
3773
        (mips_num_regs): Define.
3774
        (mips_regmap): Renamed from regmap, made static.
3775
        (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
3776
        made static.
3777
        (mips_cannot_store_register): Renamed from cannot_store_register,
3778
        made static.
3779
        (the_low_target): New.
3780
        * linux-ppc-low.c (num_regs): Remove.
3781
        (ppc_num_regs): Define.
3782
        (ppc_regmap): Renamed from regmap, made static.
3783
        (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
3784
        made static.
3785
        (ppc_cannot_store_register): Renamed from cannot_store_register,
3786
        made static.
3787
        (the_low_target): New.
3788
        * linux-s390-low.c (num_regs): Remove.
3789
        (s390_num_regs): Define.
3790
        (s390_regmap): Renamed from regmap, made static.
3791
        (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
3792
        made static.
3793
        (s390_cannot_store_register): Renamed from cannot_store_register,
3794
        made static.
3795
        (the_low_target): New.
3796
        * linux-sh-low.c (num_regs): Remove.
3797
        (sh_num_regs): Define.
3798
        (sh_regmap): Renamed from regmap, made static.
3799
        (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
3800
        made static.
3801
        (sh_cannot_store_register): Renamed from cannot_store_register,
3802
        made static.
3803
        (the_low_target): New.
3804
        * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
3805
        (the_low_target): New.
3806
 
3807
2002-04-09  Daniel Jacobowitz  
3808
 
3809
        * Makefile.in: Add stamp-h target.
3810
        * configure.in: Create stamp-h.
3811
        * configure: Regenerated.
3812
 
3813
2002-04-09  Daniel Jacobowitz  
3814
 
3815
        * inferiors.c: New file.
3816
        * target.c: New file.
3817
        * target.h: New file.
3818
        * Makefile.in:  Add target.o and inferiors.o.  Update
3819
        dependencies.
3820
        * linux-low.c (inferior_pid): New static variable,
3821
        moved from server.c.
3822
        (linux_create_inferior): Renamed from create_inferior.
3823
        Call add_inferior.  Return 0 on success instead of a PID.
3824
        (linux_attach): Renamed from myattach.
3825
        (linux_kill): Renamed from kill_inferior.  Call clear_inferiors ().
3826
        (linux_thread_alive): Renamed from mythread_alive.
3827
        (linux_wait): Renamed from mywait.  Call clear_inferiors () if the
3828
        child dies.
3829
        (linux_resume): Renamed from myresume.  Add missing ``return 0''.
3830
        (regsets_store_inferior_registers): Correct error message.
3831
        Add missing ``return 0''.
3832
        (linux_fetch_registers): Renamed from fetch_inferior_registers.
3833
        (linux_store_registers): Renamed from store_inferior_registers.
3834
        (linux_read_memory): Renamed from read_inferior_memory.
3835
        (linux_write_memory): Renamed from write_inferior_memory.
3836
        (linux_target_ops): New structure.
3837
        (initialize_low): Call set_target_ops ().
3838
        * remote-utils.c (unhexify): New function.
3839
        (hexify): New function.
3840
        (input_interrupt): Send signals to ``signal_pid''.
3841
        * server.c (inferior_pid): Remove.
3842
        (start_inferior): Update create_inferior call.
3843
        (attach_inferior): Call add_inferior.
3844
        (handle_query): New function.
3845
        (main): Call handle_query for `q' packets.
3846
        * server.h: Include "target.h".  Remove obsolete prototypes.
3847
        Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
3848
 
3849
2002-04-09  Daniel Jacobowitz  
3850
 
3851
        * Makefile.in: Add WARN_CFLAGS.  Update configury
3852
        dependencies.
3853
        * configure.in: Check for 
3854
        * configure: Regenerate.
3855
        * config.in: Regenerate.
3856
        * gdbreplay.c: Include needed system headers.
3857
        (remote_open): Remove strchr prototype.
3858
        * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
3859
        * regcache.c (supply_register): Change buf argument to const void *.
3860
        (supply_register_by_name): Likewise.
3861
        (collect_register): Change buf argument to void *.
3862
        (collect_register_by_name): Likewise.
3863
        * regcache.h: Add missing prototypes.
3864
        * remote-utils.c: Include  for inet_ntoa.
3865
        * server.c (handle_query): New function.
3866
        (attached): New static variable, moved out of main.
3867
        (main): Quiet longjmp clobber warnings.
3868
        * server.h: Add ATTR_NORETURN and ATTR_FORMAT.  Update prototypes.
3869
        * utils.c (error): Remove NORETURN.
3870
        (fatal): Likewise.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.