From: norman@oclsc.org (Norman Wilson)
To: tuhs@tuhs.org
Subject: Re: [TUHS] Disassemblers
Date: Sat, 19 Jun 2021 21:15:53 -0400 (EDT) [thread overview]
Message-ID: <20210620011553.E7D7F640CC6@lignose.oclsc.org> (raw)
Rob Pike:
Although upon reflection, I think what I did was fix 'adb' and call it
'db'. Haven't had my coffee yet this morning.
====
I don't think so. I did quite a lot of work on adb during my
time at the Labs. I remember clearly that it still used all
the Bournegol macros when I started; I doubt Rob would have
left that there. (It was Rob who translated the shell
back to C, I believe.)
I got into adb because it still used ptrace and everyone else
seemed scared to touch the code to convert it to use /proc.
So I fixed that, and fixed sdb too, and finally removed
the ptrace call from the kernel. I remember celebrating
by expunging ptrace from the UNIX Room copy of the V8
manual. ptrace happened to occupt two facing pages, which
I glued together.
I did a lot more hacking on adb after that, ranging from
little stuff like making # a synonym for 0x in input
(so that adb's output could be picked up from the screen
and re-used as input, a principle established firmly and
correctly by Rob!) to a major restructuring to isolate
machine-dependent pieces like instruction decoding and
word formats, so that it was simpler not only to make
adb work on a new processor architecture but even to make
a sort of cross-adb that could, say, correctly interpret
a PDP-11 core image on a VAX. (This actually mattered;
by the time I arrived Research had no PDP-11s running
general-purpose UNIX, but did have LSI-11s acting as
Datakit controllers and a standalone power-backed-up
LSI-11 that decoded the time signal from WWVB.)
I was never really happy about the restructuring; it did
more or less what I wanted but it wasn't really graceful.
And cross-adb needed a distinct binary for each target.
I had thoughts of trying to make a meta-language to
describe the target's data formats (simple except for
floating point) and how to print its instructions
(messier, but I remember being inspired by the clever
table-driven code in an disassembler Ken wrote for,
I think it was, the NS32000), so that one could load
a table from a file at startup; never had the time or
the courage to carry through on it.
Norman Wilson
Toronto ON
next reply other threads:[~2021-06-20 1:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-20 1:15 Norman Wilson [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-06-19 17:57 Noel Chiappa
2021-06-19 18:40 ` Clem Cole
2021-06-19 15:04 Henry Bent
2021-06-19 15:54 ` Clem Cole
2021-06-19 16:33 ` Henry Bent
2021-06-19 16:59 ` Clem Cole
2021-06-19 20:44 ` Richard Salz
2021-06-19 21:49 ` Rob Pike
2021-06-19 21:50 ` Rob Pike
2021-06-19 22:55 ` Clem Cole
2021-06-19 23:14 ` Larry McVoy
2021-06-20 1:41 ` Brantley Coile
2021-07-02 1:36 ` scj
2021-07-02 16:56 ` Paul Winalski
2021-07-02 17:45 ` Paul Winalski
2021-07-02 18:07 ` John P. Linderman
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=20210620011553.E7D7F640CC6@lignose.oclsc.org \
--to=norman@oclsc.org \
--cc=tuhs@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).