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,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 22791 invoked from network); 2 May 2020 20:16:42 -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; 2 May 2020 20:16:42 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 8DF329C8AF; Sun, 3 May 2020 06:16:40 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id CCAC89C733; Sun, 3 May 2020 06:16:15 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (1024-bit key; unprotected) header.d=planet.nl header.i=@planet.nl header.b="rY7NYYJZ"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id B188F9C733; Sun, 3 May 2020 06:16:12 +1000 (AEST) Received: from cpsmtpb-ews01.kpnxchange.com (cpsmtpb-ews01.kpnxchange.com [213.75.39.4]) by minnie.tuhs.org (Postfix) with ESMTP id 1BAD79B934 for ; Sun, 3 May 2020 06:16:09 +1000 (AEST) Received: from cpsps-ews23.kpnxchange.com ([10.94.84.189]) by cpsmtpb-ews01.kpnxchange.com with Microsoft SMTPSVC(8.5.9600.16384); Sat, 2 May 2020 22:16:07 +0200 X-Brand: 7abm2Q== X-KPN-SpamVerdict: e1=0;e2=0;e3=0;e4=(e1=10;e3=10;e2=11;e4=10);EVW:Whi te;BM:NotScanned;FinalVerdict:Clean X-CMAE-Analysis: v=2.3 cv=M9DW1x4s c=1 sm=1 tr=0 cx=a_idp_e a=ShNidqeCEQB33TAKUUzslw==:117 a=soxbC+bCkqwFbqeW/W/r+Q==:17 a=x1i13A_MHe4A:10 a=IkcTkHD0fZMA:10 a=sTwFKg_x9MkA:10 a=AoeSMSUmAAAA:8 a=pGLkceISAAAA:8 a=1rjS9cUbE1hYrrNV72wA:9 a=QEXdDO2ut3YA:10 a=IA4qIw_M-6cA:10 a=2UY7SMgi64q-0UtCmZ5F:22 X-CM-AcctID: kpn@feedback.cloudmark.com Received: from smtp.kpnmail.nl ([195.121.84.11]) by cpsps-ews23.kpnxchange.com over TLS secured channel with Microsoft SMTPSVC(8.5.9600.16384); Sat, 2 May 2020 22:16:07 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=planet.nl; s=planet01; h=message-id:to:date:subject:mime-version:content-type:from; bh=4IMzDeabLDPK1ijJ7dg3rW083eidbNdt1OkFas4LHOE=; b=rY7NYYJZvxAfnX3+L4EAtN3CNnz6sSnGZlB+gjCeaWdas29eiF7xg1Ix7V3CYApck2Ed/ny6vANHI ekahtLV/py7IBrLYY5WLFWWGCpdFsNcVLTc519qbtnw57Ny68BakJvLHlGZu9kZqv5yaJiL5jE274P TmzvuemoGC0JjG3E= X-KPN-VerifiedSender: Yes X-CMASSUN: 33|ChnD3AmMBU82Xisr3CL/II+J9Cs4KuI/fqcYNO7ge2rYT9BbIdyZbJnFiBX7htK 03tnO6AsGbmpaKTKmb7o9Yg== X-Originating-IP: 80.101.112.122 Received: from mba2.fritz.box (sqlite.xs4all.nl [80.101.112.122]) by smtp.kpnmail.nl (Halon) with ESMTPSA id c13ee9e1-8cb1-11ea-8c67-00505699b758; Sat, 02 May 2020 22:16:07 +0200 (CEST) From: Paul Ruizendaal Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Sat, 2 May 2020 22:16:06 +0200 References: <2F4C604D-F01C-4A82-948A-7E77093B48A1@planet.nl> To: TUHS main list In-Reply-To: Message-Id: <21F16C75-62AB-422A-A43F-981407E11434@planet.nl> X-Mailer: Apple Mail (2.3445.104.11) X-OriginalArrivalTime: 02 May 2020 20:16:07.0289 (UTC) FILETIME=[834F3690:01D620BE] X-RcptDomain: minnie.tuhs.org 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: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" Thanks, all, for that input. The ddt debugger appears to be a fork of 5th edition cdb. It survived in = the Interdata 7/32 port: = https://www.tuhs.org/cgi-bin/utree.pl?file=3DInterdata732/usr/source/chica= go It appears to have originated from Bill Allen at the Naval Postgraduate = School. Some more reading appears to show a much more gradual development than I = first thought. Working along Doug=E2=80=99s list: - First there was db, which claims to be loosely based on DEC=E2=80=99s = ODT in its man page. Written in assembler. - Then there is cdb, a rewrite in C, as from 3rd edition. Judging from = the man pages, in 3rd and 4th edition it is a mostly incomplete project. - The first reasonably complete version of cdb appears in 5th edition. = It only handles =E2=80=9Cnormal=E2=80=9D symbols (see below for = =E2=80=9Cnormal=E2=80=9D). The ddt debugger forks from this version, = presumably to fill in some missing features (e.g. access to non-C = identifiers, single stepping, etc.; I have not done a full feature = comparison). - In 6th edition =E2=80=9Cpseudo=E2=80=9D symbols are introduced: = symbols starting with a tilde that provide names for auto and register = variables. The cdb debugger is updated to allow references to local = variables using a =E2=80=9Cprocname:varname=E2=80=9D syntax. The ddt = debugger picked this up as well. It is a first step towards the stabs = format. I would assume that db and cdb are the work of dmr/ken. - In 7th edition there is the new adb, by Steve Bourne. Main focus of = adb appears to have been portability more than major new features. = Again, I have not compared the feature sets of ddt and adb to see if = there was an influence. - In 32V the symbol format is changed: (i) the =E2=80=9Ctilde hack=E2=80=9D= is replaced by a new assembler pseudo op =E2=80=9C.stabs=E2=80=9D; (ii) = this is then used to include more pseudo symbols, for line numbers, for = file names, etc.; (iii) the symbol struct is extended with a field to = hold the symbol's type. It is essentially stabs, but with 8 char names. = A new source level debugger, sdb, allows source level debugging. Its = command language is the first to feel like a gdb ancestor. Author Howard = Katseff. The dbx debugger appears to stand on the shoulders of sdb, and gdb on = the shoulders of dbx. In 8th edition there are 3 debuggers: adb, sdb and pi (for use with the = Blit). > On 2 May 2020, at 02:49, Noel Hunt wrote: >=20 > When it comes to Eight Edition, please don't forget Tom Cargill's > 'pi'. There was also a version I believe that was used as the > debugger for programs on the Blit/Jerq; it seems to be known as > '4pi' in the source. >=20 >=20 > On Sat, May 2, 2020 at 6:49 AM Paul Ruizendaal wrote: > Reading some more stuff about the road from 7th Edition to 8th = Edition, this time about debuggers. >=20 > My current understanding is as follows: >=20 > - On 6th edition the debugger was =E2=80=98cdb=E2=80=99 >=20 > - On 7th edition it was =E2=80=98adb=E2=80=99, a rewrite / evolution = from =E2=80=98cdb=E2=80=99 >=20 > - In 32V a new debugger appears, =E2=80=98sdb=E2=80=99. 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=98stabs=E2=80=99. Of = course the compiler, assembler, linker and related tools all = emit/recognize these new symbol table elements.=20 >=20 > - 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 = that are dated Feb/Mar 1979. This stuff must have been developed between = July 78 and March 79. >=20 > - 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. >=20 >=20 > Two questions: >=20 > (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 = is unknown. Is that correct, is the author really unknown? >=20 > (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 itself to being back ported. Is it correct that no PDP11 Unix used = (a simple) stabs tool chain and debugger? >=20 >=20 >=20