aboutsummaryrefslogtreecommitdiff
path: root/include/coff/ChangeLog
blob: edb8de3b5a4773400537945667ded57837b0e19e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
Tue May  7 00:36:39 1996  Jeffrey A Law  (law@cygnus.com)

	* internal.h (H8/300 specific relocs): Add comments better
	explaining what each reloc is used for.
	(R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2.
	(R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2.
	(R_MOVL1, R_MOVL2): New relocs.
	
Fri May  3 13:01:12 1996  Jeffrey A Law  (law@cygnus.com)

	* internal.h (R_PCRWORD_B): Define for the h8300 relaxing
	linker.

Wed May  1 19:21:03 1996  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h (SCNNMLEN): Define.
	(struct internal_scnhdr): Use SCNNMLEN for s_name field.

Fri Mar 29 13:41:25 1996  Ian Lance Taylor  <ian@cygnus.com>

	* pe.h: Define IMAGE_COMDAT codes.

Wed Mar 27 17:29:42 1996  Ian Lance Taylor  <ian@cygnus.com>

	* arm.h (union external_auxent): Add x_checksum, x_associated, and
	x_comdat fields to x_scn struct.
	* i386.h (union external_auxent): Likewise.
	* powerpc.h (union external_auxent): Likewise.
	* internal.h (union internal_auxent): Likewise.

Thu Mar 21 16:25:57 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* ecoff.h (struct ecoff_find_line): Add caching fields.

Thu Mar 14 15:22:44 1996  Jeffrey A Law  (law@cygnus.com)

	* internal.h (R_MEM_INDIRECT): New reloc for the h8300.
 
Fri Feb  9 10:44:11 1996  Ian Lance Taylor  <ian@cygnus.com>

	* aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS
	systems which think that aux is a com port.

Mon Feb  5 18:35:00 1996  Ian Lance Taylor  <ian@cygnus.com>

	* i960.h (F_I960HX): Define.

Wed Jan 31 13:11:54 1996  Richard Henderson  <rth@tamu.edu>

	* aux.h: New file.
	* internal.h, m68k.h: Protect against multiple inclusion.

Wed Nov 22 13:48:39 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define.
	(NUM_RELOC_SECTIONS): Update.
	* symconst.h (scRConst): Define.

Tue Nov 14 18:54:29 1995  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h (C_NT_WEAK): Define.

Thu Nov  9 14:08:30 1995  Ian Lance Taylor  <ian@cygnus.com>

	* rs6000.h (STYP_OVRFLO): Define.

Tue Nov  7 14:38:45 1995  Kim Knuttila  <krk@cygnus.com>

	* coff/powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define.
	* coff/pe.h: Added defines for file level flags

Mon Nov  6 17:28:01 1995  Harry Dolan  <dolan@ssd.intel.com>

	* i860.h: New file, based on i386.h.

Wed Nov  1 15:25:18 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>

	* m68k.h (PAGEMAGICEXECSWAPPED): Define.
	(PAGEMAGICPEXECSWAPPED): Define.
	(PAGEMAGICPEXECTSHLIB): Define.
	(PAGEMAGICPEXECPAGED): Define.
	(_COMMENT): DEFINE.
	* m88k.h (_COMMENT): Define.

Wed Oct 18 18:36:19 1995  Geoffrey Noer  <noer@cygnus.com>

	* sym.h: #if 0'd out runtime_pdr struct because it chokes 
	Visual C++ and there aren't any references to it elsewhere in gdb.

Mon Oct 16 11:12:24 1995  Ian Lance Taylor  <ian@cygnus.com>

	* rs6000.h (SMALL_AOUTSZ): Define.

	* internal.h (XMC_TD): Define.

Tue Oct 10 18:41:03 1995  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h (struct internal_aouthdr): Add o_cputype field.
	* rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype.

Mon Oct  9 14:45:46 1995  Ian Lance Taylor  <ian@cygnus.com>

	* rs6000.h (AOUTHDR): Add o_maxdata field.  Add comments.
	(_PAD, _LOADER): Define.
	(STYP_LOADER): Define.
	* internal.h (struct internal_aouthdr): Add o_maxdata field.

Thu Oct  5 10:02:57 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ecoff.h: Define section name macros and STYP macros for various
	Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic,
	.comment, .liblist, .dynamic.

Wed Oct  4 10:56:35 1995  Kim Knuttila  <krk@cygnus.com>

	* pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here
	* powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
	Also removed other unused defines (various MAGIC ones)
	* i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
	* arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
	* apollo.h: removed unused DEFAULT_* defines
	* alpha.h: removed unused DEFAULT_* defines
	* h8500.h: removed unused DEFAULT_* defines
	* h8300.h: removed unused DEFAULT_* defines
	* i960.h: removed unused DEFAULT_* defines
	* m88k.h: removed unused DEFAULT_* defines
	* we32k.h: removed unused DEFAULT_* defines
	* rs6000.h: removed unused DEFAULT_* defines
	* mips.h: removed unused DEFAULT_* defines
	* m68k.h: removed unused DEFAULT_* defines
	* z8k.h: removed unused DEFAULT_* defines
	* w65.h: removed unused DEFAULT_* defines
	* sparc.h: removed unused DEFAULT_* defines
	* sh.h: removed unused DEFAULT_* defines

Fri Sep 29 08:40:08 1995  Kim Knuttila  <krk@cygnus.com>

	* powerpc.h: Reformatted to GNU coding conventions.

Wed Sep 27 06:50:50 1995  Kim Knuttila  <krk@nellie>

	* pe.h: added defines for more section characteristics
	* powerpc.h (new file): base coff definitions for ppc PE

Tue Sep 12 12:08:20 1995  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h (struct internal_syment): Change n_numaux field from
	char to unsigned char.

Fri Sep  1 15:39:36 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>

	* mips.h (struct rpdr_ext): Define.

Thu Aug 31 16:51:50 1995  steve chamberlain  <sac@slash.cygnus.com>

	* internal.h (internal_aouthdr, internal_filehdr):
	don't indirect the pe stuff.

Tue Aug 29 14:16:07 1995  steve chamberlain  <sac@slash.cygnus.com>

	* i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same
	as 'the other' compiler.
	* internal.h (NT_IMAGE_BASE): Deleted.
	(NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New.
	(PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New.
	(R_IMAGEBASE): New.

Mon Aug 21 18:12:19 1995  steve chamberlain  <sac@slash.cygnus.com>

	* internal.h: (internal_filehdr): Moved PE stuff into
	internal_extra_pe_filehdr.
	(internal_aouthdr): Moved PE stuff into
	interanl_extra_pe_aouthdr.

Mon Jul 24 14:05:39 1995  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h: Move R_SH_* relocs from here...
	* sh.h: ...to here.
	(R_SH_SWITCH16, R_SH_SWITCH32): Define.
	(R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define.

Thu Jun 29 00:04:25 1995  Steve Chamberlain  <sac@slash.cygnus.com>

	* internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot.

Tue May 16 15:08:20 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* internal.h (NT_subsystem, NT_stack_heap): Delete

Tue May 16 15:08:20 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* internal.h (NT_subsystem, NT_stack_heap): Now extern.

Tue Feb 14 17:59:37 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ecoff.h (struct ecoff_fdrtab_entry): Define.
	(struct ecoff_find_line): Define.

Sat Feb  4 14:38:03 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>

	* sym.h (struct pdr): field "prof" added.

	* alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_*
	updated accordingly.

Sun Jan 15 18:38:33 1995  Steve Chamberlain  <sac@splat>

	* w65.h: New file.

Wed Nov 23 22:43:38 1994  Steve Chamberlain  (sac@jonny.cygnus.com)

	* sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New.
	(SHBADMAG): Changed to suit.

Tue Jul 26 17:46:08 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* i960.h (F_I960JX): New macro.

Wed Jul  6 00:48:57 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* alpha.h:  Add definitions for alpha file header flags, encoding
	the object type of the file.

Mon Jun 20 13:47:01 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* ecoff.h (ecoff_swap_tir_in): Remove declaration.
	(ecoff_swap_tir_out): Likewise.
	(ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
	(struct ecoff_debug_swap): Add new fields: swap_tir_in,
	swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info.

Sun Jun 12 03:51:52 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* symconst.h:  Pick up SGI define for stIndirect.

Fri Apr 22 13:05:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (REGINFO): Don't define.
	(struct ecoff_reginfo): Don't define.

	* sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC.  SHMAGIC is used by
	several targets to mean a shared library.
	(SHBADMAG): Corresponding change.

Thu Apr 14 13:00:53 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e.
	(RELOC_BITS3_TYPEHI_LITTLE): Define.
	(RELOC_BITS3_TYPEHI_SH_LITTLE): Define.
	(MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4.
	(MIPS_R_RELHI): Define.
	(MIPS_R_RELLO): Define.
	(MIPS_R_SWITCH): Change value from 9 to 22.

Thu Apr  7 14:19:35 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h (MIPS_R_SWITCH): Define.

Thu Mar 31 19:28:33 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* internal.h (internal_aouthdr): Added comments for Apollo fields.

Thu Mar 31 16:28:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4.

Fri Mar 25 17:16:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (struct ecoff_debug_info): Add adjust field.
	(struct ecoff_value_adjust): Define.

Tue Mar 22 13:22:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h (MIPS_R_PCREL16): Define.

Sat Feb 26 10:26:38 1994  Ian Lance Taylor  (ian@cygnus.com)

	* ecoff.h: Add casts to avoid warnings from SVR4 cc.

Mon Feb 21 09:48:46 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)

	* sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned
	long.
	(SYMR): Make field value bfd_vma, not long.

Fri Feb  4 23:35:53 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* rs6000.h (STYP_DEBUG): Define.

Wed Feb  2 14:31:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* internal.h (union internal_auxent): Change x_csect.x_scnlen into
	a union of a long and a pointer to a symbol.  XCOFF sometimes uses
	this field as a symbol index.

Mon Jan 10 23:54:25 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (ecoff_debug_info): Remove fields line_end,
	external_dnr_end, external_pdr_end, external_sym_end,
	external_opt_end, external_aux_end, ss_end, external_fdr_end.
	Replace ifdbase with ifdmap.

Wed Jan  5 17:05:36 1994  Ken Raeburn  (raeburn@deneb.cygnus.com)

	* ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA):
	Define.

Wed Jan  5 16:58:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (NUM_RELOC_SECTIONS): Define.

Tue Dec 21 09:24:56 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)

	* sparc.h (struct external_reloc): Rename field r_addend to
	r_offset.

Sat Dec 11 16:12:32 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* internal.h (R_DISP7, R_SH_IMM16): New reloc types.

Tue Nov 23 14:23:19 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (struct ecoff_debug_swap): Added *_end fields for all
	the symbolic information pointers.

	* sym.h: Named the EXTR structure ecoff_extr.

Fri Nov 19 08:21:18 1993  Ken Raeburn  (raeburn@rover.cygnus.com)

	* sparc.h (RELSZ): Use correct size.

Wed Nov 17 17:18:16 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h (struct ecoff_debug_info): Define.

Tue Nov  2 17:56:57 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (struct ecoff_debug_swap): Define.

Thu Oct 28 17:07:50 1993  Stan Shebs  (shebs@rtl.cygnus.com)

	* i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC.
	* m68k.h (LYNXCOFFMAGIC): Define.
	* sparc.h: New file.

Tue Oct 19 15:34:50 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* alpha.h (external_aouthdr): Split four byte padding field into
	two byte bldrev field and two byte padding field.

	* ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined.

Wed Oct 13 15:52:34 1993  Ken Raeburn  (raeburn@cygnus.com)

	Sun Oct 10 17:27:10 1993  Troy Rollo (troy@cbme.unsw.edu.au)

	* coff/internal.h: Added o_sri, o_inlib and o_vid for Apollos
			as well as R_DIR16.

	* coff/apollo.h: New file

Mon Oct 11 17:16:48 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (REGINFO, struct ecoff_reginfo): Define.

Tue Oct  5 10:52:53 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* rs6000.h: Change non-ASCII characters in comment to octal
	escapes.

Tue Sep 28 03:27:04 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* ecoff.h (_FINI, STYP_ECOFF_FINI):  Add to support .fini section.

Fri Sep 24 11:53:53 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
	* ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.

Thu Sep 23 21:07:14 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
	* ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.

Thu Sep 16 20:27:21 1993  Jim Kingdon  (kingdon@cirdan.cygnus.com)

	* sym.h, symconst.h: Add comment stating these files are not part
	of GDB, GAS, etc.  In 1991, when we asked rms whether we could
	include these files in GDB (although they are copyrighted by
	someone besides the FSF), he said it was OK if they were not
	considered part of GDB.

Fri Sep 10 17:40:35 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma.

	* alpha.c (external_aouthdr): Need four bytes of padding between
	vstamp and tsize.

Tue Sep  7 14:20:43 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further
	change in bfd swapping routine names.

Tue Sep  7 10:15:17 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd
	changes.

Fri Aug 13 14:30:32 1993  Ian Lance Taylor  (ian@cygnus.com)

	* ecoff.h (RELOC_SECTION_NONE): Define.

Thu Aug 12 11:24:42 1993  Ian Lance Taylor  (ian@cygnus.com)

	* alpha.h (struct external_reloc): Add r_symndx field.
	(RELSZ): Correct.
	(RELOC_BITS*): Correct.
	(ALPHA_R_*): Define.
	* ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define.
	(r_extern): Undefine.
	* internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather
	than long.  Add r_extern field.

	* alpha.h (PDR_BITS*): Define.
	* sym.h (PDR): Give correct names to new fields.

	* ecoff.h: Moved MIPS reloc definitions from here...
	* mips.h: to here.

Tue Aug  3 11:17:53 1993  Ian Lance Taylor  (ian@cygnus.com)

	* alpha.h: Corrected external symbolic debugging structures to
	match actual usage.
	* internal.h (internal_filehdr, internal_aouthdr,
	internal_scnhdr): Changed type of some fields to bfd_vma so they
	can hold 64 bits.
	* sym.h (HDRR, FDR, PDR, EXTR): Likewise.
	(PDR): Added new fields found on Alpha.
	* symconst.h (magicSym2): Define; new value found on Alpha.

	* ecoff.h: New file.
	* alpha.h, mips.h: Moved common information into ecoff.h.  Moved
	external structure definitions in from ecoff-ext.h.
	* ecoff-ext.h: Removed; information now in alpha.h and mips.h.

Sun Jul 18 21:43:59 1993  Jim Kingdon  (kingdon@rtl.cygnus.com)

	* i386.h: Recognize I386PTXMAGIC.

Fri Jul 16 09:54:35 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC.

Thu Jul 15 12:23:55 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* m88k.h (union external_auxent): Move x_fcn back inside x_fcnary.
	({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly.

Sun Jul 11 18:00:18 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* m68k.h: Define MC68KBCSMAGIC.

Thu Jun 10 11:46:28 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4).
	(STYP_OTHER_LOAD): Define as STYP_MIPS_INIT.

Wed Jun  9 15:09:09 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mips.h (OMAGIC): Define.

Mon Apr 26 18:04:47 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* internal.h, sh.h: Support for SH.

Sat Apr 24 21:34:59 1993  Jim Kingdon  (kingdon@cygnus.com)

	* a29k.h: Define _LIT.

Fri Apr 23 18:41:23 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* alpha.h: New file.

Thu Apr  8 12:36:34 1993  Ian Lance Taylor  (ian@cygnus.com)

	* internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h.
	* m88k.h, i386.h, we32k.h: Don't define all the storage classes;
	they're already in internal.h.

Wed Apr  7 11:51:24 1993  Jim Kingdon  (kingdon@cygnus.com)

	* internal.h: Change n_sclass to unsigned char.
	Change C_EFCN to 0xff, change RS/6000 dbx symbols
	to no longer be signed.

Fri Mar 19 14:52:56 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* internal.h: Add H8/500 reloc types.

Wed Mar 17 09:46:03 1993  Ian Lance Taylor  (ian@cygnus.com)

	* ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of
	conditional expression.

Thu Mar  4 14:12:06 1993  Ian Lance Taylor  (ian@cygnus.com)

	* ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY.
	(AUX_PUT_*): New macros corresponding to the AUX_GET macros.
	(ecoff_swap_tir_out): Added prototype.

	* mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these
	are needed to interpret gcc debugging output.

Tue Feb  9 07:43:27 1993  Ian Lance Taylor  (ian@cygnus.com)

	* we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed
	more definitions duplicated in internal.h.

Wed Feb  3 09:18:24 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines.

Mon Jan 25 11:35:51 1993  Ian Lance Taylor  (ian@cygnus.com)

	* internal.h (internal_aouthdr): Added additional fields used only
	by MIPS ECOFF.

Thu Jan 21 10:28:38 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mips.h (AOUTHDR): Added additional fields used by ECOFF.

Tue Jan 19 12:21:19 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions
	duplicated in internal.h.

	* mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF
	relocs.

Fri Jan 15 18:17:00 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff-ext.h: Added prototypes for new ECOFF swapping functions.
	(opt_ext): New structure.
	* mips.h (ZMAGIC): Defined to be 0413.
	(_LIB): Defined to be ".lib"
	(external_reloc): MIPS ECOFF relocs are only 8 bytes.  Added
	macros to aid in swapping.

Fri Jan  8 16:19:26 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* ecoff-ext.h: Added prototypes for ECOFF swapping functions.
	* internal.h (internal_scnhdr): Always provide s_align field, not
	just on i960.
	(internal_reloc): Always provide r_size field, not just on
	RS/6000.
	* mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA,
	STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined.
	(CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB,
	STABS_SYMBOL): Moved in from gdb/mipsread.c.

Wed Jan  6 14:01:46 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* i386.h, we32k.h: removed STYP_* defines, since they duplicated
	those in internal.h.

Tue Dec 29 15:40:07 1992  Ian Lance Taylor  (ian@cygnus.com)

	* i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler.

Sat Dec 12 16:07:57 1992  Ian Lance Taylor  (ian@cygnus.com)

	* i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they
	are defined in internal.h.

Thu Nov 12 09:52:01 1992  Steve Chamberlain  (sac@thepub.cygnus.com)

	* internal.h: (internal_reloc): r_offset is now a long.
	* z8k.h: slight comment enhancement

Wed Sep 30 07:46:08 1992  Steve Chamberlain  (sac@thepub.cygnus.com)

	* internal.h: changed z8k reloc types

Fri Aug 28 10:16:31 1992  Brendan Kehoe  (brendan@cygnus.com)

	* we32k.h: new file

Thu Aug 27 13:00:01 1992  Brendan Kehoe  (brendan@cygnus.com)

	* symconst.h: comment out cruft at the end of #endif

Tue Aug 25 15:06:49 1992  Steve Chamberlain  (sac@thepub.cygnus.com)

	* internal.h: added #define for STYP_LIT, removed from a29k and
	h8300.

	* z8k.h: added z8000 support

Thu Jul 16 16:32:00 1992  Steve Chamberlain  (sac@thepub.cygnus.com)

	* internal.h: added R_RELLONG_NEG reloc type

Fri Jun 12 20:11:04 1992  John Gilmore  (gnu at cygnus.com)

	* symconst.h:  Fix unterminated comment.

Wed Jun 10 07:57:49 1992  Steve Chamberlain  (sac@thepub.cygnus.com)

	* i386.h: a.out magic numbers from
	mohring@informatik.tu-muenchen.de

Mon Jun  8 20:13:33 1992  John Gilmore  (gnu at cygnus.com)

	* ecoff-ext.h, mips.h:  Use unsigned chars everywhere.
	(Suggested by Antti Miettinen.)

Tue Apr 14 15:18:44 1992  John Gilmore  (gnu at cygnus.com)

	* sym.h:  Add comments.
	* symconst.h:  Merge with Fred's changes.

Tue Apr 14 14:30:05 1992  Fred Fish  (fnf@cygnus.com)

	* symconst.h:  Pick up SGI defines for stStruct, stUnion, stEnum,
	langCplusplus, and langCplusplusV2.

Thu Apr  2 19:47:43 1992  John Gilmore  (gnu at cygnus.com)

	* sym.h, symconst.h:  MIPS has provided redistributable versions
	of these files.  Thanks!
	* ecoff-ext.h:  Add weakext bit to match new sym.h.

Fri Mar  6 00:10:46 1992  John Gilmore  (gnu at cygnus.com)

	* ecoff-ext.h:  Add relative file descriptors.

Thu Feb 27 11:53:04 1992  John Gilmore  (gnu at cygnus.com)

	* ecoff-ext.h:  New file for external (in-file) form of ecoff
	symbol structures.

Thu Feb  6 11:33:32 1992  Steve Chamberlain  (sac at rtl.cygnus.com)

	* h8300.h: made the external_lineno l_lnno field 4 bytes wide.
	andded GET/PUT_LINENO_LNNO macros

Sat Nov 30 20:38:35 1991  Steve Chamberlain  (sac at rtl.cygnus.com)

	* ChangeLog, a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h,
	m88k.h, mips.h, rs6000.h: move from above coff-<foo>.h


Local Variables:
version-control: never
End:
='n1289' href='#n1289'>1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783
/* Remote target communications for serial-line targets in custom GDB protocol
   Copyright 1988, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.

This file is part of GDB.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */

/* Remote communication protocol.

   A debug packet whose contents are <data>
   is encapsulated for transmission in the form:

	$ <data> # CSUM1 CSUM2

	<data> must be ASCII alphanumeric and cannot include characters
	'$' or '#'.  If <data> starts with two characters followed by
	':', then the existing stubs interpret this as a sequence number.

	CSUM1 and CSUM2 are ascii hex representation of an 8-bit 
	checksum of <data>, the most significant nibble is sent first.
	the hex digits 0-9,a-f are used.

   Receiver responds with:

	+	- if CSUM is correct and ready for next packet
	-	- if CSUM is incorrect

   <data> is as follows:
   Most values are encoded in ascii hex digits.  Signal numbers are according
   to the numbering in target.h.

	Request		Packet

	set thread	Hct...		Set thread for subsequent operations.
					c = 'c' for thread used in step and 
					continue; t... can be -1 for all
					threads.
					c = 'g' for thread used in other
					operations.  If zero, pick a thread,
					any thread.
	reply		OK		for success
			ENN		for an error.

	read registers  g
	reply		XX....X		Each byte of register data
					is described by two hex digits.
					Registers are in the internal order
					for GDB, and the bytes in a register
					are in the same order the machine uses.
			or ENN		for an error.

	write regs	GXX..XX		Each byte of register data
					is described by two hex digits.
	reply		OK		for success
			ENN		for an error

        write reg	Pn...=r...	Write register n... with value r...,
					which contains two hex digits for each
					byte in the register (target byte
					order).
	reply		OK		for success
			ENN		for an error
	(not supported by all stubs).

	read mem	mAA..AA,LLLL	AA..AA is address, LLLL is length.
	reply		XX..XX		XX..XX is mem contents
					Can be fewer bytes than requested
					if able to read only part of the data.
			or ENN		NN is errno

	write mem	MAA..AA,LLLL:XX..XX
					AA..AA is address,
					LLLL is number of bytes,
					XX..XX is data
	reply		OK		for success
			ENN		for an error (this includes the case
					where only part of the data was
					written).

	continue	cAA..AA		AA..AA is address to resume
					If AA..AA is omitted,
					resume at same address.

	step		sAA..AA		AA..AA is address to resume
					If AA..AA is omitted,
					resume at same address.

	continue with	Csig;AA		Continue with signal sig (hex signal
	signal				number).

	step with	Ssig;AA		Like 'C' but step not continue.
	signal

	last signal     ?               Reply the current reason for stopping.
                                        This is the same reply as is generated
					for step or cont : SAA where AA is the
					signal number.

	There is no immediate reply to step or cont.
	The reply comes when the machine stops.
	It is		SAA		AA is the signal number.

	or...		TAAn...:r...;n...:r...;n...:r...;
					AA = signal number
					n... = register number (hex)
					  r... = register contents
					n... = `thread'
					  r... = thread process ID.  This is
						 a hex integer.
					n... = other string not starting 
					    with valid hex digit.
					  gdb should ignore this n,r pair
					  and go on to the next.  This way
					  we can extend the protocol.
	or...		WAA		The process exited, and AA is
					the exit status.  This is only
					applicable for certains sorts of
					targets.
	or...		XAA		The process terminated with signal
					AA.
	or...         	Otext		Send text to stdout.  This can happen
					at any time while the program is
					running and the debugger should
					continue to wait for 'W', 'T', etc.

	thread alive	TXX		Find out if the thread XX is alive.
	reply		OK		thread is still alive
			ENN		thread is dead
	
	remote restart	RXX		Restart the remote server

	extended ops 	!		Use the extended remote protocol.
					Sticky -- only needs to be set once.

	kill request	k

	toggle debug	d		toggle debug flag (see 386 & 68k stubs)
	reset		r		reset -- see sparc stub.
	reserved	<other>		On other requests, the stub should
					ignore the request and send an empty
					response ($#<checksum>).  This way
					we can extend the protocol and GDB
					can tell whether the stub it is
					talking to uses the old or the new.
	search		tAA:PP,MM	Search backwards starting at address
					AA for a match with pattern PP and
					mask MM.  PP and MM are 4 bytes.
					Not supported by all stubs.

	general query	qXXXX		Request info about XXXX.
	general set	QXXXX=yyyy	Set value of XXXX to yyyy.
	query sect offs	qOffsets	Get section offsets.  Reply is
					Text=xxx;Data=yyy;Bss=zzz

	Responses can be run-length encoded to save space.  A '*' means that
	the next character is an ASCII encoding giving a repeat count which
	stands for that many repititions of the character preceding the '*'.
	The encoding is n+29, yielding a printable character where n >=3 
	(which is where rle starts to win).  Don't use an n > 126.

	So 
	"0* " means the same as "0000".  */

#include "defs.h"
#include "gdb_string.h"
#include <fcntl.h>
#include "frame.h"
#include "inferior.h"
#include "bfd.h"
#include "symfile.h"
#include "target.h"
#include "wait.h"
#include "terminal.h"
#include "gdbcmd.h"
#include "objfiles.h"
#include "gdb-stabs.h"
#include "thread.h"

#include "dcache.h"

#ifdef USG
#include <sys/types.h>
#endif

#include <signal.h>
#include "serial.h"

/* Prototypes for local functions */

static int remote_write_bytes PARAMS ((CORE_ADDR memaddr,
				       char *myaddr, int len));

static int remote_read_bytes PARAMS ((CORE_ADDR memaddr,
				      char *myaddr, int len));

static void remote_files_info PARAMS ((struct target_ops *ignore));

static int remote_xfer_memory PARAMS ((CORE_ADDR memaddr, char *myaddr,
				       int len, int should_write,
				       struct target_ops *target));

static void remote_prepare_to_store PARAMS ((void));

static void remote_fetch_registers PARAMS ((int regno));

static void remote_resume PARAMS ((int pid, int step,
				   enum target_signal siggnal));

static int remote_start_remote PARAMS ((char *dummy));

static void remote_open PARAMS ((char *name, int from_tty));

static void extended_remote_open PARAMS ((char *name, int from_tty));

static void remote_open_1 PARAMS ((char *, int, struct target_ops *));

static void remote_close PARAMS ((int quitting));

static void remote_store_registers PARAMS ((int regno));

static void remote_mourn PARAMS ((void));

static void extended_remote_restart PARAMS ((void));

static void extended_remote_mourn PARAMS ((void));

static void extended_remote_create_inferior PARAMS ((char *, char *, char **));

static void remote_mourn_1 PARAMS ((struct target_ops *));

static void getpkt PARAMS ((char *buf, int forever));

static int putpkt PARAMS ((char *buf));

static void remote_send PARAMS ((char *buf));

static int readchar PARAMS ((int timeout));

static int remote_wait PARAMS ((int pid, struct target_waitstatus *status));

static void remote_kill PARAMS ((void));

static int tohex PARAMS ((int nib));

static int fromhex PARAMS ((int a));

static void remote_detach PARAMS ((char *args, int from_tty));

static void remote_interrupt PARAMS ((int signo));

static void remote_interrupt_twice PARAMS ((int signo));

static void interrupt_query PARAMS ((void));

extern struct target_ops remote_ops;	/* Forward decl */
extern struct target_ops extended_remote_ops;	/* Forward decl */

/* This was 5 seconds, which is a long time to sit and wait.
   Unless this is going though some terminal server or multiplexer or
   other form of hairy serial connection, I would think 2 seconds would
   be plenty.  */

static int remote_timeout = 2;

/* Descriptor for I/O to remote machine.  Initialize it to NULL so that
   remote_open knows that we don't have a file open when the program
   starts.  */
serial_t remote_desc = NULL;

/* Having this larger than 400 causes us to be incompatible with m68k-stub.c
   and i386-stub.c.  Normally, no one would notice because it only matters
   for writing large chunks of memory (e.g. in downloads).  Also, this needs
   to be more than 400 if required to hold the registers (see below, where
   we round it up based on REGISTER_BYTES).  */
#define	PBUFSIZ	400

/* Maximum number of bytes to read/write at once.  The value here
   is chosen to fill up a packet (the headers account for the 32).  */
#define MAXBUFBYTES ((PBUFSIZ-32)/2)

/* Round up PBUFSIZ to hold all the registers, at least.  */
/* The blank line after the #if seems to be required to work around a
   bug in HP's PA compiler.  */
#if REGISTER_BYTES > MAXBUFBYTES

#undef PBUFSIZ
#define	PBUFSIZ	(REGISTER_BYTES * 2 + 32)
#endif

/* Should we try the 'P' request?  If this is set to one when the stub
   doesn't support 'P', the only consequence is some unnecessary traffic.  */
static int stub_supports_P = 1;


/* These are the threads which we last sent to the remote system.  -1 for all
   or -2 for not sent yet.  */
int general_thread;
int cont_thread;

static void
set_thread (th, gen)
     int th;
     int gen;
{
  char buf[PBUFSIZ];
  int state = gen ? general_thread : cont_thread;
  if (state == th)
    return;
  buf[0] = 'H';
  buf[1] = gen ? 'g' : 'c';
  if (th == 42000)
    {
      buf[2] = '0';
      buf[3] = '\0';
    }
  else if (th < 0)
    sprintf (&buf[2], "-%x", -th);
  else
    sprintf (&buf[2], "%x", th);
  putpkt (buf);
  getpkt (buf, 0);
  if (gen)
    general_thread = th;
  else
    cont_thread = th;
}

/*  Return nonzero if the thread TH is still alive on the remote system.  */

static int
remote_thread_alive (th)
     int th;
{
  char buf[PBUFSIZ];

  buf[0] = 'T';
  if (th < 0)
    sprintf (&buf[1], "-%x", -th);
  else
    sprintf (&buf[1], "%x", th);
  putpkt (buf);
  getpkt (buf, 0);
  return (buf[0] == 'O' && buf[1] == 'K');
}

/*  Restart the remote side; this is an extended protocol operation.  */

static void
extended_remote_restart ()
{
  char buf[PBUFSIZ];

  /* Send the restart command; for reasons I don't understand the
     remote side really expects a number after the "R".  */
  buf[0] = 'R';
  sprintf (&buf[1], "%x", 0);
  putpkt (buf);

  /* Now query for status so this looks just like we restarted
     gdbserver from scratch.  */
  putpkt ("?");
  getpkt (buf, 0);
}

/* Clean up connection to a remote debugger.  */

/* ARGSUSED */
static void
remote_close (quitting)
     int quitting;
{
  if (remote_desc)
    SERIAL_CLOSE (remote_desc);
  remote_desc = NULL;
}

/* Query the remote side for the text, data and bss offsets. */

static void
get_offsets ()
{
  char buf[PBUFSIZ];
  int nvals;
  CORE_ADDR text_addr, data_addr, bss_addr;
  struct section_offsets *offs;

  putpkt ("qOffsets");

  getpkt (buf, 0);

  if (buf[0] == '\000')
    return;			/* Return silently.  Stub doesn't support this
				   command. */
  if (buf[0] == 'E')
    {
      warning ("Remote failure reply: %s", buf);
      return;
    }

  nvals = sscanf (buf, "Text=%lx;Data=%lx;Bss=%lx", &text_addr, &data_addr,
		  &bss_addr);
  if (nvals != 3)
    error ("Malformed response to offset query, %s", buf);

  if (symfile_objfile == NULL)
    return;

  offs = (struct section_offsets *) alloca (sizeof (struct section_offsets)
					    + symfile_objfile->num_sections
					    * sizeof (offs->offsets));
  memcpy (offs, symfile_objfile->section_offsets,
	  sizeof (struct section_offsets)
	  + symfile_objfile->num_sections
	  * sizeof (offs->offsets));

  ANOFFSET (offs, SECT_OFF_TEXT) = text_addr;

  /* This is a temporary kludge to force data and bss to use the same offsets
     because that's what nlmconv does now.  The real solution requires changes
     to the stub and remote.c that I don't have time to do right now.  */

  ANOFFSET (offs, SECT_OFF_DATA) = data_addr;
  ANOFFSET (offs, SECT_OFF_BSS) = data_addr;

  objfile_relocate (symfile_objfile, offs);
}

/* Stub for catch_errors.  */

static int
remote_start_remote (dummy)
     char *dummy;
{
  immediate_quit = 1;		/* Allow user to interrupt it */

  /* Ack any packet which the remote side has already sent.  */
  SERIAL_WRITE (remote_desc, "+", 1);

  /* Let the stub know that we want it to return the thread.  */
  set_thread (-1, 0);

  get_offsets ();		/* Get text, data & bss offsets */