Reading some more stuff about the road from 7th Edition to 8th Edition, this time about
debuggers.
My current understanding is as follows:
- On 6th edition the debugger was ‘cdb’
- On 7th edition it was ‘adb’, a rewrite / evolution from ‘cdb’
- In 32V a new debugger appears, ‘sdb’. Its code seems a derivative from ‘adb’, but the
command language is substantially reworked and it uses a modified variant of the a.out
linker format - in essence the beginnings of ‘stabs’. Of course the compiler, assembler,
linker and related tools all emit/recognize these new symbol table elements.
- The July 78 file note by London/Reiser does not mention a reworked debugger at all; the
32V tape that is on TUHS has ’sdb' files that are dated Feb/Mar 1979. This stuff must
have been developed between July 78 and March 79.
- In the SysIII and 3BSD code on TUHS (from early 80 and late 79 respectively) the stabs
format is more developed. For SysIII it is ‘VAX only’. With these roots, it is not
surprising that it is also in 8th Edition.
Two questions:
(1) According to Wikipedia the original author of the stabs format is unknown. It also
says that the original author of ‘sdb’ is unknown. Is that correct, is the author really
unknown?
(2) As far as I can tell, the ’sdb’ debugger was never back ported to 16 bit Unix, not in
the SysIII line and not in the 2.xBSD line. It would seem to me that the simple stabs
format of 32V would have lent itself to being back ported. Is it correct that no PDP11
Unix used (a simple) stabs tool chain and debugger?