From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 3598 invoked from network); 1 May 2020 21:58:49 -0000 Received-SPF: pass (minnie.tuhs.org: domain of minnie.tuhs.org designates 45.79.103.53 as permitted sender) receiver=inbox.vuxu.org; client-ip=45.79.103.53 envelope-from= Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 1 May 2020 21:58:49 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 5B0FF9C999; Sat, 2 May 2020 07:58:47 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id B5CF29C851; Sat, 2 May 2020 07:58:11 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (1024-bit key; unprotected) header.d=ccc.com header.i=@ccc.com header.b="F82ibHMQ"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id D4AD79C851; Sat, 2 May 2020 07:58:08 +1000 (AEST) Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) by minnie.tuhs.org (Postfix) with ESMTPS id A16E79C733 for ; Sat, 2 May 2020 07:58:06 +1000 (AEST) Received: by mail-qk1-f173.google.com with SMTP id s63so10678898qke.4 for ; Fri, 01 May 2020 14:58:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DHnFzTzNJ6FmBf7MO6w6G2NaNYc3Fq7OGh32ujA6kcs=; b=F82ibHMQSSVkohkCwHRbwUFCbHOq/cYnajbkITbgMSpz4t+px02HV/ViBGcsbKLB1B xfKY9+CfyX2H1hvm0iYZpwi/M/Ff/lU4BtwuoUwK2Y5CNT06bwVOVOzYgih7vAy3Oxt9 0bPz5HG2G0buMIQIysINe326azeke3oc3px78= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DHnFzTzNJ6FmBf7MO6w6G2NaNYc3Fq7OGh32ujA6kcs=; b=Pabz/SFp5jiErv6QHbUi4aW2YMFHRatO4LYqVZ4PXSclCfyHbR7GK9A5k0SXD2sPkW nXQ2+evFTuNu9S7nKVsJXP9xx8QhhOicuPHN5AAaN7Ep0onZpCvaMVQXMdDhei8RKvV2 OwJp2lh2lfakBo7ZsgBb2rJ70x+qmDVHA6rJYsHqOpz7a4WPGFinOtnMTqhQsYdEFgzp sFkTLF1jJJhed8SvLqJ1ya1T2K6/UYQhXblBI7U6nLmU2jIVSukhlON7DgS44bAcNOZA aBj51R55J9mDfh/t9ryY+lz/QppzplKNtb8GGiVMnda2BTRa3p76kCSVhYFbJU+TcH60 T4VQ== X-Gm-Message-State: AGi0PuasGD0i1RQWDtsNIri8o6LrzJxS7GVUU1Bh7nquK8/DPSTJs2M2 QOxbTGW9T71iLKqrKiyg0hc6C8vUXRSSUjHg6OyCDA== X-Google-Smtp-Source: APiQypIu8t6F66XiafDly+kcWShz8xxFTB+lI2FpapS3Uf0CJLOd4oYCWqvaxpf+r6Yr9aPEA0LAjKi+rNokVANoC8o= X-Received: by 2002:a05:620a:1095:: with SMTP id g21mr5578958qkk.476.1588370285435; Fri, 01 May 2020 14:58:05 -0700 (PDT) MIME-Version: 1.0 References: <2F4C604D-F01C-4A82-948A-7E77093B48A1@planet.nl> In-Reply-To: <2F4C604D-F01C-4A82-948A-7E77093B48A1@planet.nl> From: Clem Cole Date: Fri, 1 May 2020 17:57:39 -0400 Message-ID: To: Paul Ruizendaal Content-Type: multipart/alternative; boundary="000000000000a2b6b705a49d465f" Subject: Re: [TUHS] SDB debugger X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --000000000000a2b6b705a49d465f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, May 1, 2020 at 4:49 PM Paul Ruizendaal 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 =E2=80=98cdb=E2=80=99 > 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 =E2=80=98adb=E2=80=99, a rewrite / evolution from= =E2=80=98cdb=E2=80=99 > 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, =E2=80=98sdb=E2=80=99. I thought adb was still in 32V also, adb was definitely in the BSD 4.x codebase. > Its code seems a derivative from =E2=80=98adb=E2=80=99, but the command l= anguage is > substantially reworked and it uses a modified variant of the a.out linker > format - in essence the beginnings of =E2=80=98stabs=E2=80=99. 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 =E2=80=99sdb' files tha= t are > dated Feb/Mar 1979. This stuff must have been developed between July 78 a= nd > 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 =E2=80= =98VAX > only=E2=80=99. 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 =E2=80=98sdb=E2=80=99 i= s 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 =E2=80=99sdb=E2=80=99 debugger was never ba= ck ported to 16 > bit Unix, not in the SysIII line and not in the 2.xBSD line. It would see= m > 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. --000000000000a2b6b705a49d465f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Fri, May 1, 2020 at 4:49 = PM Paul Ruizendaal <pnr@planet.nl&g= t; wrote:
Readin= g 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 =E2=80=98cdb=E2=80=99
= One of the early USENIX tapes has a copy of ddt, which used the DEC DDT syn= tax from the PDP-10 and PDP-11s.=C2=A0 I don't remember who created it.= =C2=A0 Might have been Harvard or Cooper-Union.=C2=A0 I'm not sure I ev= er bothered to learn cdb, as we had ddt at CMU.=C2=A0 What I don't reme= mber is if it ran on Fifth Edition.



- On 7th edition it was =E2=80=98adb=E2=80=99, a rewrite / evolution from = =E2=80=98cdb=E2=80=99
Mumble -- IIRC adb was an=C2= =A0attempt=C2=A0at being common between the PDP-11 and the Interdata.=C2=A0= =C2=A0Heavy use of the pre-processor.=C2=A0 Typedefs did not get exist.=C2= =A0 =C2=A0Steve Johnson should chime in here.=C2=A0 I thought it was a new = code base.

Again, IIRC ddt did not just recompil= e on V7 and I needed something fast, as I was trying to write what would be= come a 68000 backend for the C compiler, so I just learned adb and never lo= oked back until dbx.

=C2=A0

- In 32V a new debugger appears, =E2=80=98sdb=E2=80=99.
I thought adb was still in 32V=C2=A0also, adb was definitely in the BSD 4.= x codebase.

=C2=A0
Its code seems a derivative from =E2=80=98adb=E2=80=99,= but the command language is substantially reworked and it uses a modified = variant of the a.out linker format - in essence the beginnings of =E2=80=98= stabs=E2=80=99. 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 debugg= er at all; the 32V tape that is on TUHS has =E2=80=99sdb' files that ar= e dated Feb/Mar 1979. This stuff must have been developed between July 78 a= nd March 79.

- In the SysIII and 3BSD code on TUHS (from early 80 and late 79 respective= ly) the stabs format is more developed. For SysIII it is =E2=80=98VAX only= =E2=80=99. With these roots, it is not surprising that it is also in 8th Ed= ition.
Don't forget Mark Linton's thesis, d= bx=C2=A0 (which today has become gdb).=C2=A0 I thought that was part of the= original 4.1 (FastVax) tape; as part of the new compilers from Susan Graha= m's students.=C2=A0 =C2=A0It certainly was part of 4.1c/4,2 as he had l= eft for Stanford by then. [Note to Warren, we should put 4.1 in the browsin= g tree.=C2=A0 The kernel is different enough from 4.0 and does have new uti= lities, although it was not nearly as different as 4.1c.=C2=A0 The reality = is until 4.2BSD came out with the networking support, most Vaxen running BS= D were 4.1 not 4.0 based.

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

I also tho= ught it was someone in Graham's team that had added support for long id= entifiers.=C2=A0 =C2=A0Mary Ann did you remember/can you think of who that = might have been? But after that work was completed, the updated UCB compile= rs went back to MH at some point, what changed were=C2=A0folded 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 st= ream.


=C2=A0


Two questions:

(1) According to Wikipedia the original author of the stabs format is unkno= wn. It also says that the original author of =E2=80=98sdb=E2=80=99 is unkno= wn. Is that correct, is the author really unknown?
= I don't remember, but it is possible this was UCB work that went back t= o Bell.

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

(2) As far as I can tell, the =E2=80=99sdb=E2=80=99 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 its= elf to being back ported. Is it correct that no PDP11 Unix used (a simple) = stabs tool chain and debugger?
I don't know who woul= d have done the work,=C2=A0other than someone like Bostic (and he would hav= e only done that if he needed it).=C2=A0 =C2=A0When did the 2.xBSD line pic= k up the long identifiers?=C2=A0 =C2=A0Keith must have had something as the= Vax code started to assume them pretty soon after the feature was there.= =C2=A0 FWIW: until the Linton's source debugger, the debugger I remembe= r that most of us used at UCB had been adb, not sdb.

T= he 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.= =C2=A0 So most of the new work was being done in the Vax.=C2=A0 =C2=A0=C2= =A0 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).=C2=A0 Bu= t 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&#= 39;s debugger) was all vax based.=C2=A0=C2=A0

--000000000000a2b6b705a49d465f--