From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6701 invoked from network); 8 Jun 2023 02:10:26 -0000 Received: from minnie.tuhs.org (2600:3c01:e000:146::1) by inbox.vuxu.org with ESMTPUTF8; 8 Jun 2023 02:10:26 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 75556425C2; Thu, 8 Jun 2023 12:10:21 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuhs.org; s=dkim; t=1686190221; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-owner:list-unsubscribe:list-subscribe:list-post; bh=6LI1ZPPjXNkdFnW9LYsQ2fXduZCx1hcfQZEKLukn0Xk=; b=xQ1/vrN7mIbj0YgtgQquHf371IqdABR6aL6RLsWMxxCPRF/W/MVJpK+mTiKOdaUAfnGaml iuveJQKslsh8fsIEawC+MbuRKY9sJoQpsbgw/dXzCgReRuOqgraiKj4tJnt9AfmZcUBw4Y gzvUa3nOR9+x/OlGQu7cEJU2i3ndaeA= Received: from mail-4324.protonmail.ch (mail-4324.protonmail.ch [185.70.43.24]) by minnie.tuhs.org (Postfix) with ESMTPS id 5F875425C0 for ; Thu, 8 Jun 2023 12:10:16 +1000 (AEST) Date: Thu, 08 Jun 2023 02:10:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1686190214; x=1686449414; bh=6LI1ZPPjXNkdFnW9LYsQ2fXduZCx1hcfQZEKLukn0Xk=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=nkw8WV6eGv83jWFSJTwtaKCS4reooFZYYlLKcs6N4RIzlut32WhIFgxP8iO4FdMI5 75gNfoW8reUMqElTEKLwGvJLBgmSON30GbeW6UmN+oyymadWkdcg3/z3TPwNY5rcoC mDEtQbC4YS/Lo7IfvCVh1l6wp4Q9cFgwFqhWFHiCmGMIBQ+bsV8RwZP550EslHRjd4 tozy1ZyPJpxI5wcpvB3R6tiVNfAgus+3lwYA7iIR+XFiuR+363Uj9qlzE8Cg38zhzl DYBkC/SlswC6sbW+3zQrRupMuSRexEAHkd5Nsdq6pMpJlMoPKws5u1O1AdvhoCDv36 d6/LzaQqIvCgw== To: The Eunuchs Hysterical Society Message-ID: In-Reply-To: References: <1e651370-3ada-e211-c277-409d6563500d@f4grx.net> Feedback-ID: 35591162:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: W5VLNZJ4PLHHD5EFZSUQ2JKH7CERMJHN X-Message-ID-Hash: W5VLNZJ4PLHHD5EFZSUQ2JKH7CERMJHN X-MailFrom: segaloco@protonmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Software written in B List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: segaloco via TUHS Reply-To: segaloco > Of course, B was a "transition" language, that did not have a continued use as soon as it evolved into C. so if any software remains, it will be quite hard to find. There is a bit of binary code from that transition period that may hold som= e answers. In my disassembly of the s2-bits binaries (V2-ish), I've come a= cross the following that bear a particular signature I can't identify other= wise: echo, exit, glob, goto, if, mail, skip, stty, su This "signature" I refer to being a few properties of the a.out files and i= nitial flow of the entry compared with other binaries of known source code = origin. First, these are all magic number 405(8) binaries, so V1 era a.out= . Second, in each case, the initial branch is to a jump vector which then = performs a r5-relative subroutine call followed by a halt in the case of fa= llthrough. In other words: br _start / 405(8) ... _start: jmp innerstart / some faraway place ... innerstart: jsr r5,main / always 004567 000042 halt ... main: inc somevalue / always 005267 000136 or 005267 000140 ... Finally, these all appear to have the four characters "Init" strewn in ther= e with a bunch of binary data. It is consistently in all of the above bina= ries exhibiting these other two patterns. I don't have any confirmed B cod= e/binaries to compare against, so I can't say that this is a signature of B= , but it is a signature of *something*. Whatever it is these all share it. This can be compared with disassembly of programs like: - ln, a "naked" binary in that it has no a.out header that immediately = calls break - chown, a V1 a.out (magic number 405(8)) that jumps immediately into t= he assembly routine - find, a V2 a.out (magic number 407(8)) that does the same - fc, a V2 a.out compiled from C that branches into a crt0 startup that= then jumps to main, this crt0 startup matches the crt0.o file in s2-bits Something of note too with the above programs is that the earliest preserve= d versions of each are all in C. That being exit, glob, goto, and if from = the s1-bits tape (V3-ish) as well as echo, mail, stty, and su in V5 (not su= re what skip is/was). This is all pretty compelling, but conjecture noneth= eless. Perhaps it will draw hard proof closer. - Matt G. P.S., these are the other s2-bits binaries by "signature": - naked - cal, chmod, dsw, ln, rm - V1 asm - :, ar, bas, cat, chball, check, chown, cmp, cp, date, db, dc= , df, du, ed, form, getty, init, login, ls, mesg, mkdir, msh, mv, od, pr, r= ew, rmdir, roff, sh, sort, stat, sum, tap, tm, tty, wc, who, write - V2 asm - as, as2, ds, find, ld, maki, nm, strip, un - V2 C - cc, fc, size