Annotation of 43BSDTahoe/lib/old_compiler/dbx/History, revision 1.1.1.1

1.1       root        1: Dbx is a descendant of pdx, a debugger that I wrote to work with
                      2: Berkeley Pascal as my master's project at Berkeley.  Pdx was released
                      3: in the fall of 1981.  While pdx was being completed, a version with
                      4: different machine, process, and runtime modules was developed to run
                      5: on VAX compiled code.
                      6: 
                      7: In the spring of '82, the use of the string table for storing type encodings
                      8: was designed and the VAX C compiler was modified to generate the new
                      9: symbol information.  In the fall of '82, the modifications to the C compiler
                     10: and a new version of the debugger, by now named dbx, were installed locally
                     11: at Berkeley.  In early '83, dbx was installed on the 4.1c release of
                     12: Berkeley UNIX.
                     13: 
                     14: In the spring of '83, Alistair Fyfe, a graduate student at Berkeley,
                     15: modified dbx and the f77 compiler to enable dbx to debug FORTRAN programs.
                     16: During this time, dbx was also ported to the Sun.
                     17: 
                     18: In the fall of '83, dbx was released with 4.2.  During that winter and
                     19: the spring of '84, dbx was extended to work with Modula-2 in conjunction
                     20: with the development of the Modula-2 compiler at DEC Western Research Lab.
                     21: In June of '84, a collection of updates reflected the current status
                     22: of dbx, including bug fixes and support for Modula-2, was sent to net.sources.
                     23: 
                     24: Below are some short notes on versions that have been installed since then.
                     25: 
                     26:        Mark Linton
                     27: 
                     28: 
                     29: 6/1    2.0     release to net.sources
                     30: 
                     31: internal releases
                     32: 7/2    2.5     rewrote name resolution, particularly for procedure nesting
                     33: 7/17   2.6     single stepping through certain kinds of loops,
                     34:                tracing through code compiled for profiling
                     35:                support for Pascal installed on the side but not tested
                     36:                    (nor is the associated support in pc)
                     37: 7/19   2.7     open arrays
                     38: 7/31   2.8     print <proc>, qualified names in backtrace,
                     39:                curevent to avoid some "missing trids",
                     40: 8/1    2.9     increased maximum number of arguments from 100 to 1000,
                     41:                increased maximum line size to 1024 to 10240
                     42: 8/23   2.10    support for Pascal and test cases for modified pc,
                     43:                code for -k (kernel debugging) added but not debugged,
                     44:                qualified names in traces
                     45:                no longer fatal to not link with -g -- assumes first global
                     46:                    is equivalent to -lg
                     47:                better resolution of externals
                     48:                reports when a core image is being used
                     49: 8/25   2.11    fixed some problems with Pascal, e.g., enumerations,
                     50:                increased maximum number of functions from 1001 to 4001,
                     51:                fixed a nasty bug for C (and elsewhere?) having to do
                     52:                    with processing types for "known" global variables,
                     53:                changed the syntax/semantics of "print x" where x is
                     54:                    a function so that it no longer tries to call it --
                     55:                    "print x()" must be used instead
                     56:                added/fixed syntax for type renaming so that term's can
                     57:                    be renamed
                     58: 8/26   2.12    fixed problem with multiple imports (EXTREF's),
                     59:                added dynamic name lookup if static lookup fails before picking
                     60:                    at random
                     61: 8/27   2.13    fixed problem in dynamic lookup that caused an infinite loop,
                     62:                if it picks one at random it now prints a message specifying
                     63:                    the fully qualified name of the symbol that was picked
                     64: 8/27   2.15    first attack at fixing problem with type renames (loopholes)
                     65: 9/16   2.16    major attempt to fix loopholes by revising node representation
                     66:                    and command grammar -- basic need was to make more sense
                     67:                    out of when to do indirection
                     68:                changed identifier resolution in object and stabstring so
                     69:                    that globals are no longer in top scope (since they could
                     70:                    conflict with a module name)
                     71: 9/18   2.17    another problem related to expressions having to do with
                     72:                    handling pointers to arrays
                     73:         ...
                     74: 1/1    2.25    made more inroads into kernel debugging,
                     75:                added macros (aliases with arguments), and settable variables
                     76: 1/7    2.26    fixed bug where only mapped first address of block read,
                     77:                    have to map each page (still wrong though)
                     78: 1/13   2.27    fixed some user reported problems -- down in runtime
                     79:                    didn't work correctly if "curframe" wasn't already set,
                     80:                the process instruction cache had to be flushed when
                     81:                    a process is killed (this caused a problem when an
                     82:                    object file was remade)
                     83: 1/14   2.28    fixed problem with mapping addresses under -k,
                     84:                added -c option for command files other than .dbxinit
                     85:                fixed occasional problem with testing for end of stack frames
                     86:                    (symptom was infinite loop calling nextframe)
                     87: 1/15   2.29    fixed problem with printing dynamic arrays inside aggregates
                     88:                fixed type compatibility for builtin true and false

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.