The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Clem Cole <clemc@ccc.com>
To: Paul Ruizendaal <pnr@planet.nl>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] SDB debugger
Date: Fri, 1 May 2020 17:57:39 -0400	[thread overview]
Message-ID: <CAC20D2NND7+y7wt0bURgbdUd1A+q5GGamffaO8dsxHHFX4zJhg@mail.gmail.com> (raw)
In-Reply-To: <2F4C604D-F01C-4A82-948A-7E77093B48A1@planet.nl>

[-- Attachment #1: Type: text/plain, Size: 5189 bytes --]

On Fri, May 1, 2020 at 4:49 PM Paul Ruizendaal <pnr@planet.nl> wrote:

> 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’
>
One of the early USENIX tapes has a copy of ddt, which used the DEC DDT
syntax from the PDP-10 and PDP-11s.  I don't remember who created it.
Might have been Harvard or Cooper-Union.  I'm not sure I ever bothered to
learn cdb, as we had ddt at CMU.  What I don't remember is if it ran on
Fifth Edition.



> - On 7th edition it was ‘adb’, a rewrite / evolution from ‘cdb’
>
Mumble -- IIRC adb was an attempt at being common between the PDP-11 and
the Interdata.   Heavy use of the pre-processor.  Typedefs did not get
exist.   Steve Johnson should chime in here.  I thought it was a new code
base.

Again, IIRC ddt did not just recompile on V7 and I needed something fast,
as I was trying to write what would become a 68000 backend for the C
compiler, so I just learned adb and never looked back until dbx.



>
> - In 32V a new debugger appears, ‘sdb’.

I thought adb was still in 32V also, adb was definitely in the BSD 4.x
codebase.



> 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.
>
Don't forget Mark Linton's thesis, dbx  (which today has become gdb).  I
thought that was part of the original 4.1 (FastVax) tape; as part of the
new compilers from Susan Graham's students.   It certainly was part of
4.1c/4,2 as he had left for Stanford by then. [Note to Warren, we should
put 4.1 in the browsing tree.  The kernel is different enough from 4.0 and
does have new utilities, although it was not nearly as different as 4.1c.
The reality is until 4.2BSD came out with the networking support, most
Vaxen running BSD were 4.1 not 4.0 based.

FWIW: Does anyone know if dbx ended up 8 or 9th - Norman/Rob?

I also thought it was someone in Graham's team that had added support for
long identifiers.   Mary Ann did you remember/can you think of who that
might have been? But after that work was completed, the updated UCB
compilers went back to MH at some point, what changed were folded in I do
not know.

And of course, Steve started working on his new generation of compilers at
USG (PCC2), which would land in the System V stream.




>
>
> 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?
>
I don't remember, but it is possible this was UCB work that went back to
Bell.

BTW: wnj started out as a Graham student.  His fingers were on a number of
things (I think such as the Pascal subsystem in 1 and 2 BSD).  It is
possible he did something like the long identifiers, I just don't remember,
when they went into the system or who did it.  I thought that was with the
Vax, as the compilers were pressed for code (address) space on the 16-bit
systems.


>
> (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?
>
I don't know who would have done the work, other than someone like Bostic
(and he would have only done that if he needed it).   When did the 2.xBSD
line pick up the long identifiers?   Keith must have had something as the
Vax code started to assume them pretty soon after the feature was there.
FWIW: until the Linton's source debugger, the debugger I remember that most
of us used at UCB had been adb, not sdb.

The truth is that once the Vaxen showed up at UCB, most of the
grad-students like Mary Ann or myself all had accounts on those systems,
and things like the Cory Hall 70 were mostly undergrad machines being used
for teaching.  So most of the new work was being done in the Vax.
Bostic got his start as an undergrad moving things back from the Vax to the
machine(s) in Cory and Math/Statistics (which were 11's).  But the machines
being used for new features were definitely the Vax, so all of Graham's
students in languages were doing compiler work (or Linton's debugger) was
all vax based.

[-- Attachment #2: Type: text/html, Size: 8352 bytes --]

  reply	other threads:[~2020-05-01 21:58 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-01 20:48 Paul Ruizendaal
2020-05-01 21:57 ` Clem Cole [this message]
2020-05-02  9:10   ` Paul Ruizendaal
2020-05-02 16:04     ` Clem Cole
2020-05-01 23:05 ` Jeremy C. Reed
2020-05-02  0:49 ` Noel Hunt
2020-05-02  1:22   ` Rob Pike
2020-05-02  3:49     ` Noel Hunt
2020-05-02 20:16   ` Paul Ruizendaal
2020-05-03  6:58     ` arnold
2020-05-03 16:13     ` Clem Cole
2020-05-03 16:53       ` Henry Bent
2020-05-03 17:06         ` Henry Bent
2020-05-03 17:13       ` Henry Bent
2020-05-03 20:26         ` Clem Cole
2020-05-05  0:22           ` [TUHS] DEC Compilers (was: " Win Treese
2020-05-05 17:36             ` Paul Winalski
2020-05-05 18:53               ` Dr Iain Maoileoin
2020-05-05 21:59               ` Dan Cross
2020-05-05 21:49             ` Henry Bent
2020-05-03 17:35       ` [TUHS] " Paul Winalski
2020-05-03 21:27       ` Paul Ruizendaal
2020-05-12  4:15 ` Dave Horsfall
2020-05-02  2:52 Doug McIlroy
2020-05-02 17:45 ` Larry McVoy
2020-05-03 16:16   ` Rich Morin
2020-05-12  4:36     ` Dave Horsfall
2020-05-03  2:21 Norman Wilson
2020-05-03  2:41 ` Larry McVoy
2020-05-03  7:14   ` arnold
2020-05-03  3:05 ` Rob Pike

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAC20D2NND7+y7wt0bURgbdUd1A+q5GGamffaO8dsxHHFX4zJhg@mail.gmail.com \
    --to=clemc@ccc.com \
    --cc=pnr@planet.nl \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).