Skip to content
This repository has been archived by the owner on Jul 4, 2021. It is now read-only.

Latest commit

 

History

History
3155 lines (2319 loc) · 115 KB

ChangeLog-1990

File metadata and controls

3155 lines (2319 loc) · 115 KB
 
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
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Fri Dec 28 00:13:42 1990 John Gilmore (gnu at cygint)
Further stabilization for the Intel 960.
* Makefile.dist: Parameterize the location of the "include"
and "bfd" directories, as well as "getopt". Add symfile.c.
Link in both dbxread and coffread. Fix up "make depend" to
rewack the locations of include, bfd, and getopt in its output.
* README: Document moving include files, improve some of
the other doc.
* coffread.c: Move common code out to symfile.c. Change
symbol_file_command style interface to use new *_symfile_init
and *_symfile_read interface under BFD. Use BFD internal
info to locate line table, symbols, etc.
* core.c (core_fetch_registers): Rename to get_core_registers
to avoid confusion with fetch_core_registers.
(register_addr): Move to coredep.c, which is already machine
dependent. This leaves core.c pretty clean of dependencies.
* coredep.c (register_addr): Accept this routine from core.c.
* dbxread.c: Move common code (with coffread.c, etc) into new
symfile.c. Each psymtab now contains a pointer to the
format-dependent function that knows how to read it in. Make
some things static.
(dbx_psymtab_to_symtab): Renamed from psymtab_to_symtab_2.
(process_one_symbol): Add code to complain about a "compiler bug
we muzzle here", if we actually see it.
* eval.c (evaluate_subexp): Insert missing "break" statements
in code that determines whether a variable is an lvalue in
memory, register, or whatever. I detected this via a compiler
bug in which it *almost* mashed out the whole switch statement.
* gdb-int.texinfo: Add minor sections on configuring gdb for
release, and about the README file.
* infcmd.c (registers_info): Fix formatting somewhat. Still
not as pretty as before, but it handles byte swapping.
* remote-nindy.c: If data cache routines are interrupted while
waiting for the remote end, be sure that any uninitialized cache
blocks are on the free list, not on the valid list!
* symfile.h: Flesh out this header file with all the various
routines and variables that have been merged in from dbxread.c
coffread.c, and symtab.c to symfile.c.
* symfile.c: New file, containing code common to dbxread.c,
coffread.c, and some code from symtab.c. All generic code for
reading symbol files should be in here now.
(unrecord_misc_function): Remove unused function.
* symtab.h: Remove file-reading things to symfile.h.
* symtab.c: Remove file-reading things to symfile.c.
* tm-i960.h: Fix FRAME_CHAIN types; define PRINT_RANDOM_SIGNAL
to decode i960 fault types.
* target.h, remote.c, remote-eb.c, remote-vx.c, remote-nindy.c,
target.c: Change type of the "resume" function from int to void,
since its result was never used.
Sat Dec 22 02:51:40 1990 John Gilmore (gnu at cygint)
* main.c: Replace "stupid" with "caution"; you now "set caution
on or off".
* printcmd.c (print_scalar_formatted): Fix typo in 'g' format
* infcmd.c (do_registers_info): Call val_print to deal with the
byte order of the registers being printed. FIXME, this makes
the formatting of the output uglier.
* infcmd.c (wait_for_inferior): If PRINT_RANDOM_SIGNAL is
defined, call it for signals the debugger doesn't itself use.
The i960 uses this for more detailed fault information.
* remote.c (remote_open): If arg is null, print help rather than
dumping core.
* sparc-xdep.c (register_valid): Avoid declaring size, since
various modules will think of various sizes depending on the
architecture of their tm-file. FIXME, we need protection against
actually entering one of those modules, which would clobber
storage if not for the target architecture compiled into gdb.
* stack.c (up_command, down_command): Always print the frame
you arrive at.
(up_silently_command, down_silently_command): New commands
for use in scripts.
* i960-pinsn.c (reg), i960-tdep.c: Lint.
* i960-tdep.c (i960_frame_chain_valid): Lookup_symbol now takes
more parameters than it used to.
* findvar.c (registers): Increase slop to 256 bytes, which should
protect us against even most RISC machines with large register
sets.
(locate_var_value): Move declaration inside related ifdef.
* remote-nindy.c (): Use TIOCSETN rather than TIOCSETP
throughout, to avoid throwing away buffered input from the board.
(nindy_wait): Supply_register takes addr_of_value, not value.
(i960_print_fault): Renamed from i80960_fault.
(nindy_fetch_registers): Avoid have_regs stuff, just get them.
(nindy_store_registers): Avoid regs_changed stuff, just stuff
them.
(nindy_create_inferior): Don't bother to write PC_REGNUM since
we can set the PC in the call to proceed(). Unpush nindy_ops
before pushing it on top, to avoid message to user. Eliminate
commentary from Unix machines that just misleads here.
(reset_command): Fix error message to suggest target command.
Wed Dec 19 11:03:56 1990 John Gilmore (gnu at cygint)
Release 3.92.5 as frozen.
Stabilize the merged release...with help from lint, Saber C,
gcc -W, etc.
Everywhere: Add include files needed to declare return types
of functions called.
* gdb.texinfo: Roland Pesch is documenting gdb, glory be!
* breakpoint.h: Add undeclared breakpoint functions, and some
functions for display handling since I couldn't think of a better
.h to put them in.
* breakpoint.c (insert_breakpoints): Make code for disabling
shared library bkpts more likely to work. It's used when we
rerun a program and stop before the shared library has been
mapped in.
(breakpoint_cond_eval, bpstat_stop_status): Pass arg as int,
cast from pointer, so it squeezes through catch_errors.
(bpstat_stop_status): Fix logic broken some time ago. We now
always create a bpstat if the stop address matches a breakpoint,
even if we don't stop there -- just like the old code used to do
before I got my fingers into it (sigh).
(breakpoint_1): Print "ignore count" after "stop only if"
condition, since that's how it actually works.
(mention): Handle watchpoints as well as breakpoints.
(watch_command): use set_raw_breakpoint and mention to do most
of the work (and initialize all the fields!). Only pass one
arg to parse_c_expression, since that's all it takes.
* command.c (not_just_help_class_command): Rename arg to args
since we ignore "unused argument" warnings on vars named "args".
inflow.c (child_terminal_info): ditto.
infptrace.c (kill_inferior): ditto
main.c (catch_errors, version_info, quit_command, pwd_command,
source_command, dump_me_command, editing_info,
set_history_size_command, set_history, show_history,
set_verbose): ditto
stack.c (locals_info): ditto
target.c (target_files_info): ditto
valprint.c (set_input_radix, set_output_radix): ditto
* core.c: Remove old variables for handling core and exec file
sections (data_start, data_end, stack_start, stack_end,
reg_stack_start, reg_stack_end, reg_stack_offset, text_start,
text_end, exec_data_start, exec_data_end, text_offset,
exec_data_offset, data_offset, stack_offset). They're
superseded the more general build_section_table and
xfer_memory.
(get_exec_file): Mention the `file' command.
(read_memory_check): Rename to memory_error, and only call it
in the case of an actual error.
(read_memory, write_memory): call memory_error.
(core_fetch_registers): Register section name is ".reg".
coredep.c: Remove a bunch of crud now that all this file does
is pull the registers out of a core file.
(fetch_core_registers): Rewrite to actually work, I hope.
dbxread.c: Use a.out.gnu.h, not system a.out, now.
Replace index() with strchr(). Remove all the pre-BFD macro
definitions for accessing the symbol file.
(struct dbx_symfile_info): Encapsulate the information that
dbx_symfile_init needs to pass to dbx_symfile_read in this
struct.
(dbx_new_init, dbx_symfile_init, dbx_symfile_read,
dbx_symfile_discard): Rearrange symbol file reading to divide
the format-specific part from the format-independent part,
leaving the format-independent part such as file name expansion
and opening in symtab.c. This replaces
partial_symbol_file_open and partial_symbol_file_read.
Symbol_file_read, add_file, add_file_target_command,
add_file_addr_command move to symtab.c. Pass an explicit
"mainline" flag for when reading the main symbol table, rather
than relying on the offset address to be zero or nonzero.
(dbx_symfile_read): Don't allow void *'s to be printed as
typedefs.
(SWAP_SYMBOL): Use bfd routines to byte-swap the symbols.
(ADD_PSYMBOL_TO_LIST): Make the "function call rather than
macro" debug version really work.
(read_dbx_symtab): Remove unref'd parameter inclink.
Avoid swapping N_SLINE symbols, for speed.
Merge N_TEXT!N_EXT case with the other external symbol
definitions' case. Add comments.
(start_psymtab): Allocate the symfile name in the psymtab on
the psymbol_obstack, rather than using the caller's storage.
(end_psymtab): Only allocate a dependencies list if there are
more than zero.
(psymtab_to_symtab_2): Use BFD when reopening file to read
its symbols for real.
(read_struct_type): Add FIXME comments where it needs work
for C++ bogosity.
(read_huge_number): Add FIXME about overflows.
(read_range_type): Add FIXME about comparing a long to 1<<32.
* coffread.c: Minor changes to move things closer to the new
regime with symtab.c and dbxread.c Major work is still needed
here.
* exec.c (exec_file_command): Remove old variables (see core.c
above).
(xfer_memory): If memory transfer is right at the end of a
section, don't lose.
* findvar.c (get_saved_register): If value is in a real
register, LVAL is lval_register, not lval_memory.
frame.h: Declare print_sel_frame and record_selected_frame.
gdb-int.texinfo: New file, for GDB internals documentation.
Very simple, unformatted doc of cleanups is there for now.
gdbcore.h: Remove obsolete variables that described a.out
section addresses and offsets. (See core.c above.)
Declare fetch_core_registers and registers_fetched.
getopt.c: Declare char *alloca(); even on SPARC.
infcmd.c (run_command): Call target_kill rather than
kill_inferior.
(step_command, next_command, stepi_command, nexti_command):
Declare from_tty parameter even though we don't use it.
(run_stack_dummy): argument BUFFER is a char array, not
a pointer to REGISTER_TYPE.
(finish_command): using_struct_return needed a value *,
not a struct symbol *.
* infptrace.c (child_xfer_memory): To avoid dependency on
where sections are in memory, try PT_WRITE_D and if that fails,
try PT_WRITE_I. Most Unixes don't care which you use.
* infrun.c (step_resume_break_shadow): Change to array to
match other breakpoint shadow storage.
(clear_proceed_status): Pass address of bpstat to
bpstat_clear, not the bpstat itself.
(child_create_inferior): FIXME comment about if the child
exits.
(start_inferior): Remove old function.
(child_open): Use target_kill rather than kill_inferior.
(wait_for_inferior): Ditto.
(insert_step_breakpoint, remote_step_breakpoint): Use
new step_resume_break_shadow.
* inftarg.c (child_wait): If all child processes die,
pretend that the one being waited for exited with signal 42.
* main.c (command_line_input): When scanning for comments,
don't coredump on unclosed quotes.
(quit_command): Use target_kill rther than kill_inferior.
(_initialize_main): Rename class_user from "user" to
"user-defined".
* printcmd.c (print_command_1): Initialize "fmt" if no format
is specified by the user.
(print_frame_args): Only add to args_printed if we are
actually fetching args from the stack (avoiding undefined
arg_size).
(_initialize_printcmd): Remove bogus \{ from string.
* remote-eb.c (eb_open): Avoid coredump on no argument.
* remote-nindy.c: Bring out of Intel environment into new
target environment. Remove all conditional compilation on
I80960. Massive hacking throughout.
(nindy_xfer_inferior_memory): New routine stolen from
infptrace.c.
(nindy_create_inferior): New routine pieced together, probably
not quite working yet.
(nindy_ops): New target_ops struct for nindy.
* remote-vx.c: Use write_memory rather than target_write_memory
to get error checking.
(vx_add_file_command, vx_open): Use symbol_file_add rather than
add_file.
(vx_create_inferior): Use target_terminal_ours...
* signame.c (_initialize_signame): Always initialize, since
we need the table for things other than psignal.
* solib.c (solib_add): Use symbol_file_add, not add_file.
(solib_address): Return boolean result rather than struct
pointer which nobody else knows the type of.
* sparc-tdep.c, valops.c: Use write_memory rather than
target_write_memory, to get error checking.
* stack.c (locals_info, catch_info, args_info,
get_selected_block, frame_command, up_command): Use
target_has_stack, rather than have_inferior_p or
have_core_file_p.
* sun3-xdep.c (fetch_core_registers): Rewrite for new BFD regime.
* symfile.h: New file, defining the interface between the
generic and object-file-specific symbol reading code.
* symtab.c: Move generic symbol-reading interface to symtab.c,
from dbxread.c, coffread.c, mipsread.c, etc. Add symtab_fns
table to map BFD targets to symbol-reading modules in GDB.
Change index to strchr.
(lookup_struct_elt_type): Use error() rather than hand-made
simulations thereof.
(lookup_partial_symbol): Speedup slightly when length == 0.
(symbol_file_add): New function.
(symbol_file_command): Call it.
(symfile_open, symfile_init): New function.
(add_file_target_command, add_file_addr_command): moved from
dbxread.c.
* target.c (target_command): use target_kill.
* target.h (target_files_info): Don't declare, never called
from outside.
* tm-sun2.h, tm-sun3.h (STACK_END_ADDR): Use system include
files to determine stack end address.
* valarith.c (value_x_binop, value_x_unop): Change error message
to be more useful. Pass proper argument to value_struct_elt.
* valops.c (value_assign): FIXME comment that long long
bitfields will break here.
* Makefile.dist: Add symfile.h, remote-nindy.c, remote-eb.c.
Update `make saber_gdb' to work better.
* TODO: A woman's work is never done.
* cplus-dem.c, environ.c, inferior.h, infrun.c, inftarg.c,
main.c, obstack.c, printcmd.c, remote-eb.c, remote-nindy.c,
remote-vx.c, remote.c, solib.c, source.c, sparc-pinsn.c,
sparc-tdep.c, sparc-xdep.c, symmisc.c, symtab.c, symtab.h
target.c, terminal.h, tm-sparc.h, tm-sunos.h, utils.c,
valops.c, valprint.c, exec.c: Lint.
Wed Dec 12 23:44:15 1990 John Gilmore (gnu at cygnus.com)
Continuing Intel 960 port merge of GDB.
* Makefile.dist: Merge i960 "nindy-share" files. Rename
malloc.h to gmalloc.h to avoid name conflicts in /usr/include.
Don't ship gdb.dvi in tar file. Link gdb with init.o, not init.c.
Wack over "make depend" so it handles files in subdirectories
vx-share, nindy-share, bfd, and in the current directory.
* blockframe.c (get_prev_frame_info): Remove fatal error
if stack not defined.
* core.c (core_open, core_detach): New functions that handle
the old "core-file" command as "target core" and "detach" instead.
(core_file_command): Call them.
(core_xfer_memory): Use common routine xfer_memory.
* dbxread.c: Include a.out.gnu.h, not system a.out.h.
dbxread now uses bfd for everything but symbol reading itself.
BFD internals are used to drag out the relevant file offsets.
(partial_symbol_file_open): Change args all around for BFD.
* symtab.c: Rename "value" to "val" everywhere, so we can
#include "value.h".
(symbol_file_command): New command, moved from dbxread.c
and coffread.c. It uses BFD to read the file, then vectors
based on its type, to dbx or coff symbol readers.
* symtab.h: Extern a few vars for symbol_file_command.
* target.h: Breakpoint takes a char * save area, not a char **.
* valprint.c (val_print): When unpacking bitfields, offset
the address in gdb of the value, if it is declared with a shorter
type. Remove the last "runtime kludge test" of host byte order.
* utils.c: Remove old my_bfd_read routine.
* stack.c (frame_info): Use target_has_stack. Print program counter
register's actual name rather than "pc", since it's called the
"ip" (instruction pointer) on the i960 (sigh).
* target.c (target_command): Add command for selecting a target
type and calling its open routine. This is used for initiating
communication with a particular target, in a generic way.
* tm-i960.h: Update for modern gdb. Remove semicolons from
various macros. Handle reading struct return convention, and
error-out attempts to return structs with the "return" command.
Be sure gdb doesn't think we know how to call functions in the
inferior.
* i960-tdep.c: Rename FRAME_CHAIN_VALID and FRAME_FIND_SAVED_REGS
to i960_xxx in lower case.
(arg_address): Circumvent errors due to LOC_ARG_BLOCK
not being defined yet.
* remote.c (remote_open): Call start_remote to initialize
wait_for_inferior during open.
(remote_xfer_inferior_memory): Return length written rather
than errno value.
* remote-vx.c (target_command -> vx_open): Use new generic
target command.
* remote-eb.c, inftarg.c, exec.c: ditto.
* infrun.c: Fix comments.
(attach_program -> child_open): Use new generic target command.
(wait_for_inferior): Clear saved register values before target_wait,
so target_wait can set some of them if convenient.
* infptrace.c (fetch_inferior_registers, store_inferior_registers):
Return success indicator, not void.
(child_xfer_memory): Avoid fetching initial word if we'll
overwrite it anyway.
* infcmd.c (attach_command): Use new generic target open routine.
(_initialize_infcmd): Update doc on attach and detach commands.
(do_registers_info): Merge in a byte-order problem as a FIXME
comment.
* findvar.c (find_saved_register): Avoid problem in current frame.
(read_relative_register): Ditto.
(write_register): Convert byte order on the way out.
* exec.c (file_command): Add.
(add_to_section_table, exec_command): Use new bfd_map_over_sections.
(xfer_memory): Common function between core_xfer_memory and
exec_xfer_memory.
(exec_xfer_memory): Use it.
* pn-opcode.h: Document that a "PN" is a Gould PowerNode.
* breakpoint.c, breakpoint.h, symtab.h, value.h, frame.h, utils.c,
valops.c, stack.c, target.c, sparc-xdep.c, source.c, printcmd.c,
infcmd.c, i960-pinsn.c, eval.c, defs.h: lint and gcc -Wall.
Sun Dec 2 16:45:06 1990 John Gilmore (gnu at cygnus.com)
Merge Intel 960 port of gdb, continuing...
* dbxread.c (partial_symbol_file_open, partial_symbol_file_read,
symbol_file_command): Pass from_tty arg to hush 'em up.
* coffread.c (symbol_file_command): Avoid output if from_tty != 1.
Add magic numbers for 960 COFF format.
Fri Nov 30 09:18:20 1990 John Gilmore (gnu at cygnus.com)
Merge Intel 960 port of gdb, from Intel "1.2" release.
CHANGE_LOG entries from their port, which was based on
gdb+-2.8.0:
Thu Sep 6 11:02:22 PDT 1990
Remove temp file if download is interrupted.
Wed Aug 1 09:08:33 PDT 1990
Now uses binary protocol to talk to NINDY.
Old hex protocol (NINDY 2.13 and older) supported with -O switch.
Times out after 5 seconds when trying to talk to NINDY.
Tue May 29 12:54:49 PDT 1990
Added variable baud rate (-b switch).
Source code reorganization.
Thu Apr 26 11:09:55 PDT 1990
More cleanup of batch mode; specifically, execute "-s", "-e", and
"-se" switches as soon as they are encountered on the invocation line.
Fri Apr 20 13:47:15 PDT 1990
Add -brk switch.
Thu Apr 19 09:54:28 PDT 1990
Add 'reset' command.
Wed Apr 18 09:48:07 PDT 1990
After opening remote tty, wait for 1 second to go by without input
from it before trying to talk to NINDY (fixes problems with the
Heurikon HK80/V960E).
Mon Apr 4 16:33:05 PDT 1990
Some output was not being suppressed in 'batch' mode.
Thu Mar 22 15:31:11 PST 1990
Ask user if old symbol table should be deleted when new file is
downloaded.
Allow user to run a program downloaded before gdb960 was brought up.
Correct "exec-file" help message for i80960 context.
Correct bug in calculating user space address: could occasionally
corrupt user program.
Make sure to zero low-order bits in rip's because of bug in 960CA
A-step part: could cause operation faults when "next"ing across
a function call.
Correct bug that made it impossible to get source line numbers for
code loaded at addresses higher than 0x7fffffff.
Wed Jan 10 12:43:22 PST 1990
Open remote tty for exclusive use.
Fri Jan 5 12:14:42 PST 1990
Correct disassembly (CA manual was right after all):
opcode for sysctl is 0x659
Mon Oct 23 12:03:04 PDT 1989
Use G960BASE and G960BIN environment variables to find 'sx' utility.
Mon Oct 16 14:15:09 PDT 1989
"sfr0"-"sfr31" should have been named "sf0"-"sf31"
Mon Oct 2 15:56:31 PDT 1989
Added 960CA disassembly support.
To simplify maintenance:
- eliminated use of symblic links on pinsn.c: use i960-pinsn.c
directly instead.
- eliminated opcode.h: incorporates tables into i960-pinsn.c
- moved 960-specific routines from i960-pinsn.c to i960-md.c
- made disassembly interface identical to that in gdmp960.
Wed Nov 28 21:32:48 1990 John Gilmore (gnu at cygint)
* target.h: Allow targets to stack. Add target_has_memory,
_registers, etc. Restructure memory access and "info files"
to walk the target stack.
* exec.c, core.c, inftarg.c, remote.c, remote-vx.c, remote-eb.c,
target.c: Change tables to match target.h.
* inflow.c (child_mourn_inferior): pop child_ops.
(generic_mourn_inferior): Use new has_stack flag.
* infptrace.c (child_xfer_memory): New memory regime.
* inftarg.c (child_files_info): New "info files" regime.
* remote-eb.c: New memory regime, new info files.
* remote-vx.c: New memory regime, new info files. Now use
separate targets for VxWorks attachment to machine, and
actually running a process under VxWorks, since one has
stack & execution & regs and the other doesn't.
* remote.c: New memory regime, new info files.
* sparc-xdep.c (fetch_core-registers): New memory regime.
* target.c: New routines and support for stacked targets,
new memory regime, new info files regime.
Generalize section handling for an arbitrary number of sections,
including use of the new BFD (binary file) library.
* gdbcore.h: Add struct section_table.
* exec.c (build_section_table): Iterate all sections and
record what gdb needs to know about them.
(exec_command): Use it.
(exec_xfer_memory): Use the table.
(exec_files_info): Print the table.
* core.c (core_file_command, core_xfer_memory, core_files_info):
Likewise.
* source.c (find_source_lines): Use bfd_get_mtime.
* dbxread.c: Quick changes to make it compile with new BFD.
* utils.c (error): Avoid using bfd_error in generic routines.
* core.c (core_fetch_registers): Get from the ".regs" section of
the BFD core file.
* sparc-xdep.c (fetch_core_registers): Use the .regs info.
* inferior.h (attach_flag): Export.
* infcmd.c (run_command): use new target_create_inferior.
* infrun.c (child_create_inferior): Don't return result.
* Makefile.dist (VERSION): 3.91.4.
Fri Nov 23 28:15:38 1990 John Gilmore (gnu at cygint)
* breakpoint.c (bpstat_num): Handle breakpoints which have
since been deleted, such as temporary breakpoints.
infcmd.c (program_info): ditto.
* core.c (core_file_command): Display the frame where the core
dump occurred.
* main.c: lint.
* remote-vx.c (target_command): Merge in target command from
targ-vx.c. A few other cleanups.
* TODO, Projects: Lots more stuff to do...
Fri Nov 23 18:15:38 1990 John Gilmore (gnu at cygint)
Massive changes to wall off the remote-debugging interface
behind a function vector. The port to handle VxWorks targets
is also part of this.
All files: Replace references to renamed functions,
remove references to remote_debugging, remove references to
have_include_file, have_core_file in favor of target_has_stack,
target_has_memory, etc.
* Modularize the breakpoint interface.
breakpoint.h (BREAKPOINT_MAX): New define sets max length of
a breakpoint instruction.
breakpoint.c: struct breakpoint's shadow_contents now sized as
BREAKPOINT_MAX.
(insert_breakpoints): Vector to target to install breakpoints.
(remove_breakpoints): Vector to target here too.
Remove REMOTE_SA_SPARC kludges and other remote_debugging.
sparc-tdep.c (single_step): Use new breakpoint interface for
the single-step breakpoints.
mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint):
New file, contains routines to insert and remove breakpoints by
reading out the old contents and later replacing them. This is
how ptrace breakpoints work, and many remote systems as well.
* tm-vxworks68.h: New config file, overrides a few things for
Wind River's preferences.
* target.h: New file, for transfer vector used to talk to the
inferior (child, attached, core, exec, remote, etc). All accesses
to the thing being debugged should come through these vectors.
target.c: New file, routines to handle transfer vector.
(various files): Add transfer vectors XXX_ops for the various
targets and pseudo-targets (core files, etc) we support.
* breakpoint.c (bpstat_stop_status): Further explorations of
watchpoints and why things don't work all the time.
(bpstat_alloc): New fn to allocate a bpstat and chain it.
* config.gdb: Only add "source ${srcdir}/.gdbinit" to
the local gdbinit if it doesn't already have it.
* core.c (core_ops): add and install.
Allow core debugging without exec file.
* dbxread.c (free_and_init_header_files): Merge two fns.
(end_symtab): Free named symbol table when a new version comes in.
(read_dbx_symtab): Relocate all kinds of symbols with base
address. First step toward handling different text, data, bss
reloc.
(add_file_addr_command): Renamed add_file_command.
(add_file_command): Vector to remote handler.
Add "load" as an alias for "add-file" command.
* defs.h: Allow "volatile" to be used in non-ANSI; use it for
non-returning functions.
* exec.c: Add exec_ops, and push it as a target when an exec
file is specified.
* infcmd.c (run_command): Pass executable file name and arg list
separately when starting an inferior. Permit "run" when no exec
file is specified, for VxWorks.
(detach_command): Move to child_detach in inftarg.c.
* inftarg.c: New file. Unix-child-specific routines, and the
child_ops structure.
* inferior.h (registers): Export "registers" as the way for
target dependent register handlers to find gdb's local copy of
the registers. Rename "stop_after_attach" to "stop_soon_quietly"
since it is now used by places that want wait_for_inferior to
handle the grunge but want to see every trap from the inferior.
* inflow.c (create_inferior): Pull out, and merge into infrun.c.
Eliminate remote_debugging hooks in terminal handling.
* infrun.c: Replace start_inferior with child_create_inferior.
Move all the hair of Unix shells and ptrace idiosyncracies into
child_create_inferior, so remote handlers don't have to deal.
Remove running_in_shell. Rename stop_after_attach to
stop_soon_quietly, and use it in a few other places where we want
to just call wait_for_inferior and get control back on the first
trap. trap_expected now never takes a value > 1.
(init_wait_for_inferior): Initialize static vars when a new
process is created.
main.c (gdbinit): Add new hook for .gdbinit file name, let
it be overridden by config files as GDBINIT_FILENAME.
(DEFAULT_PROMPT): Add new hook for overriding (gdb) prompt.
Both of these are used for VxWorks gdb.
mcheck.c: rename include file "gmalloc.c" to avoid problems
with system include file "malloc.c".
param-no-tm.h: New include file, same as param.h but does not
include the default "tm.h" file. This is used in files where
the target is known, e.g. remote-eb.c or sparc-xdep.c.
param.h: Now just a shell that includes tm.h and param-no-tm.h.
remote-vx.c: New file, VxWorks remote debugging support. Uses
RPC routines that are shared with the target system, in directory
${srcdir}/vx-share.
remote.c: Vectorize remote interface.
source.c: Globalize source_path, and make an alias "l" for "list"
since we now have the "load" command.
sparc-xdep.c: Use new param-no-tm.h.
symmisc.c (free_named_symtab): Add new function from Wind River.
However, ifdef it out for now while we think about what it should
really be doing.
tm-sun3.h, xm-sparc.h, xm-sun3.h, xm-symmetry.h: Move
PREPARE_TO_STORE to
the xm- file, and change its name to CHILD_PREPARE_TO_STORE, since
non-Unix-children handle this with their own code in the target
transfer vector.
Makefile.dist: Roll version to 3.92.3. Add vx-share stuff to
source and target lists. Add vx-share to default list of include
directories. Add new files to src and target lists: mem-break,
target, inftarg, remote-eb, remote-vx, targ-vx. Be sure the
${srcdir} versions of munch and createtags are used.
* valops.c (find_function_addr): Split out of call_function.
(call_function_by_hand): Rename call_function; this function
calls functions in the target by laboriously patching the target
word-by-word with the right stack, args, regs, etc.
Mon Nov 5 17:29:10 1990 John Gilmore (gnu at cygint)
Handle AMD 29000 a bit better.
* remote-eb.c (readchar): Mask received char log to make it readable.
(remote_start): Pass arguments down to executing program.
Make startaddr unsigned.
infrun.c (start_inferior): Accept args, pass them to
remote_start.
infcmd.c (run_command): Pass args down to start_inferior.
* tconfig/am29k-aout, tconfig/am29k-coff: New files specifying
the target object file format.
tm-29k.h: Pay heed to COFF_ENCAPSULATE.
* am29k-pinsn.c (print_insn): Print 0x on hex numbers in disassembly.
am29k-tdep.c (examine_prologue): Better checking of function prefixes.
Sun Oct 7 18:20:45 1990 John Gilmore (gnu at cygint)
* Makefile.dist (VERSION): Roll version to 3.91.9 and freeze.
* TODO: We did a few things, we have more to do though.
* xm-sparc.h (CLEAR_DEFERRED_STORES): Define.
* inflow.c (inferior_died): Clear deferred stores.
* Debug problems with dummy frames and calls to the inferior.
* tm-sparc.h (PUSH_DUMMY_FRAME, POP_FRAME): Move to sparc-tdep.c.
* sparc-tdep.c (do_restore_insn): Simplify.
(sparc_frame_find_saved_regs): Simplify and fix what we find.
(sparc_push_dummy_frame): Simplify and fix what we push.
(sparc_pop_frame): Slightly more hair here, deciding whether
we are restoring a saved PC or returning to a return address in %i7.
* sparc-xdep.c (read_inferior_registers): Debug if valid reg is read.
* utils.c (xmalloc, xrealloc): Return type depends on __STDC__.
* symtab.h (xmalloc): ditto, for obstack_chunk_alloc.
* obstack.h (chunkfun): ditto.
* defs.h (xmalloc, xrealloc): ditto
* utils.c (quit): Grab the terminal from the child if necessary.
* inflow.c (term_status_command): Rename to term_info, change
to "info terminal".
* sparc-pinsn.c (print_insn): Disassembly prefers real instructions.
(is_delayed_branch): Speed up.
* sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables.
Still missing some float ops, and needs testing.
* Support for input and output radixes other than base 10
* defs.h (input_radix, output_radix): Declare.
* expread.y (yyparse, parse_number): Handle changes of input
radix, and ambiguous names-or-numbers in radixes >10.
* printcmd.c (print_scalar_formatted): Print formatted hex
numbers in varying column widths.
* valprint.c (val_print): Use output_format to print scalar ints.
(set_input_radix, set_output_radix, set_radix): Create.
(set_output_radix): Set output_format from output_radix.
(_initialize_valprint): add `set radix' but leave the others off.
* main.c (execute_command): Let stupid questions be turned off.
(_initialize_main): Handle "set stupidity", etc.
* main.c, inflow.c, inferior.h, frame.h, command.c, defs.h,
sparc-pinsn.c, sparc-xdep.c, value.h, valops.c, values.c: Lint.
Tue Oct 2 11:20:02 1990 John Gilmore (gnu at cygint)
* TODO, Makefile.dist, ChangeLog: Freeze for 3.91.8 release.
bfd stuff is still screwed up, but with some manual work, it
compiles.
* breakpoint.c (bpstat_do_actions): Start over if a command
proceeds the inferior, since the inferior will have stopped and
will need to have its new stop-actions taken care of.
* dbxread.c (read_struct_type): Expression gives Sun3 4.0.3
compiler fits, simplify it.
* gdb.texinfo (directory command): Doc new dir command.
source.c (directory_command): "dir" now puts things on the front
of the path, moves dups up front, and handles multiple names
on the command line, inserting each one in order. It also
blows away cached line and full_filename info.
* stack.c (backtrace_command): Skip "more stack frames follow"
unless interactive.
* Change #ifndef HAVE_VPRINTF to #define MISSING_VPRINTF in
xm-convex.h, xm-hp300bsd.h, xm-isi.h, xm-merlin.h, xm-news.h,
xm-np1.h, xm-pn.h, xm-pyr.h, xm-symmetry.h, xm-umax.h, xm-vax.h.
The only odd one was Gould NP1, which had defined vprintf to
"printf"!!!
* Merge Ted Goldstein <tedg@Eng.sun.com>'s changes for epoch.
printcmd.c (print_command_1): Pass 'inspect' flag down as a global
variable, inspect_it.
valprint.c (print_string, val_print): Use the global inspect_it
to indicate whether to print in Epoch style or normal style.
Mon Oct 1 23:55:26 1990 John Gilmore (gnu at cygint)
* printcmd.c (call_command): add an alias for the "print" command
which runs expressions and doesn't print the result if void.
(print_command_1): implement it.
* command.c: Remove #if 0'd code. Initialize all the fields
in add_cmd (). Rename do_nothing_command to
not_just_help_class_command, and make it externally visible.
command.h: add user_commands to struct.
* main.c (define_command): Don't overload c->function with a char
string as well as a function pointer.
* eval.c (evaluate_subexp): Reinstall tiemann changes to
calling convention of value_struct_elt () that got dropped in
merge.
* tm-sparc.h (FRAME_FIND_SAVED_REGS): move to sparc-xdep.c.
sparc-tdep.c (sparc_frame_find_saved_regs): ditto.
* tm-sparc.h (POP_FRAME): replace some constants with defines.
* sparc-xdep.c (store_inferior_registers): defer stores to regs
until a good time (e.g. when we are about to run the child),
saving ptrace calls.
* infrun.c (proceed): handle DO_DEFERRED_STORES.
* tm-sparc.h: define DO_DEFERRED_STORES.
* sparc-xdep.c (store_inferior_registers): when storing float
registers, don't store stack regs too. When storing the SP,
however, DO store the stack regs too. This fixes a bug in which
the dummy frame is not recognized when a call_function finishes,
because its frame pointer (in the stack regs) was never
initialized.
(read_inferior_registers): Mark WIM and TBR and FPS and CPS valid
even though we don't know how to read them from an inferior.
valops.c (call_function): Comment about storing SP.
* infrun.c (save_inferior_status): Save away the original bpstat
chain so it can be restored later. Install the copied version for
use by whoever saved the status. It will be blow away by
restore_inferior_status, and the original chain restored. This is
important for people who have pointers into the original.
* breakpoint.c, command.h, copying.awk, dbxread.c, defs.h,
findvar.c, frame.h, obstack.h, obstack.c, inflow.c, value.h,
main.c, printcmd.c, sparc-tdep.c, symtab.c, valprint.c: lint
Fri Sep 28 20:32:46 1990 John Gilmore (gnu at cygnus.com)
* Makefile.dist: Roll version to 3.91.8. Add bfd.h and bfdconfig.h
temporarily to the makefile. Add am29k-opcode.h and WHATS.NEW.
Add stuff.c and kdb-start.c to the OTHERS list for tar files.
Fri Sep 28 19:12:12 1990 John Gilmore (gnu at cygint)
* Merge Mike Tiemann's multiple inheritance changes from Sun.
Store the baseclasses in a type struct starting from array element
0 rather than from the unusual array element 1.
dbxread.c: the above.
(virtual_context): Add
Read new debug information about which virtual function table
a virtual function is from, and store it in fn_field.fcontext.
symtab.h: Add fcontextt. Fix baseclass indices. Typo in
TYPE_FN_FIELD_STATIC_P.
symtab.c: the above.
valops.c: the above. Handle pointer casts of object *'s.
(search_struct_method): Add.
(value_struct_elt): First arg is now a pointer to a value, and is
modified on return.
valprint.c: the above.
values.c (value_virtual_fn_field): Add type arg. Handle
offsetting to the proper object when calling virtual fns.
The above.
(baseclass_addr): Add valuep arg.
* README: Document the current state of BFD config (missing).
* TODO, ChangeLog, Makefile.dist: Roll version.
* WHATS.NEW: Add summary of changes since 3.5.
Thu Sep 27 16:23:12 1990 John Gilmore (gnu at cygint)
* dbxread.c (read_struct_type): Clear bit vectors whenever
we allocate one.
symtab.c (B_CLRALL): define.
* tm-sparc.h (STORE_RETURN_VALUE): Avoid clobbering types by
using == rather than =. Huh... This fixes the dreaded problem
wherein builtin_type_int becomes TYPE_CODE_FLT.
* core.c (info_files): Show the inferior pid.
* config.gdb: Avoid putting "dir" command into .gdbinit. GDB
already knows how to look in the source directory.
* Remove psymtab hair from many places. Remove duplicated code
for searching symbol tables. Hide psymtabs from most places.
Make it fast to get from a psymtab to its symtab.
blockframe.c (blockvector_for_pc): Remove psymtab hair.
coffread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2.
mipsread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2.
dbxread.c: export psymtab_to_symtab, make it work if called N times.
(psymtab_to_symtab): Rename to psymtab_to_symtab2. Initialize
new symtab completely. New psymtabs get symtab pointer
initialized to zero. Remove MI warning printf.
symtab.h: Comments. Add psymtab to symtab pointer.
(PSYMTAB_TO_SYMTAB): New macro.
symtab.c: use PSYMTAB_TO_SYMTAB. Add psymtab_to_symtab and export it.
source.c: use PSYMTAB_TO_SYMTAB. Remove symtab version and
compilation fields.
stack.c (backtrace_command): Avoid pre-pass to read symbols, if
verbose is not set.
(print_frame_info): Avoid special-casing symbols that have not yet
been read in.
* source.c (open_source_file): Quick path if we have already
located the source file by its full name.
* symtab.c (lookup_symbol): Use find_pc_symtab rather than
find_pc_psymtab. When a name is found in the misc function
vector, search the symbol table for its mangled name, not the
name that the user typed.
* bfd.h: Fix missing comment terminators, make #endifs match.
* valarith.c (value_less): Handle unsigned int comparisons.
Add FIXME about pointer compares, which assume host and target
pointers are the same.
* command.c (do_nothing_command): lint
dbxread.c: lint. Remove sort_syms. Document C++ visibility info,
fix comments on debug symbol format for visibility. Actually set
visibility of symbols.
main.c (echo_command): lint; use <readline/history.h>.
tm-sparc.h (FRAME_FIND_SAVED_REGS): lint
obstack.h (_obstack_blank): Rearrange pointer math to avoid
pointing past end of allocated memory; saber complains.
obstack.h: Declare the external functions that we use.
valarith.h: use <string.h>
solib.c (solib_add): lint.
Fri Sep 21 17:05:19 1990 John Gilmore (gnu at cygint)
* main.c (initialize_main): Default info_verbose to off, now that
symbol reading is fast.
(quit_command): Avoid clobbering exec_bfd while quitting.
* Initial BFD (binary file diddling library) merger:
coffread.c: Change AOUTHDR to struct exe_hdr.