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=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12693 invoked from network); 26 Feb 2023 15:51:21 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 26 Feb 2023 15:51:21 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 376F9432A0; Mon, 27 Feb 2023 01:51:18 +1000 (AEST) Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by minnie.tuhs.org (Postfix) with ESMTPS id 8395C432A0 for ; Mon, 27 Feb 2023 01:51:13 +1000 (AEST) Received: by mail-pg1-x52c.google.com with SMTP id 16so2157564pge.11 for ; Sun, 26 Feb 2023 07:51:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=ZnmnRgGKNiuHKP4xQ+Psb82+ZlcgyaT+Kp+taLo7AZc=; b=HyiAF5E7HGFD2meTLJV+ifloJYYjYxIBN6YRWTE4q7VOYOYz9FI8VHqSGDY0JQylLH obWalebE7eNQAnKRelGCsd4Z207LHdPm6x6ow7YjHsPptwKjVT9DKZhivOYnqDns9qvo uxOM9MvGQ21Ev+oplYvPBhXyQ3mVde/UK5M53KQ0uCnHp0vTX0KHwgYHG9UXxTyDQe6B o4GslUBYXZ27DKQPUxcdKAgUw/CWIvDtIgnF6RlvY5oUnLDPDYXQvOV+DNYR2Ugyikrn XnsNLqkwN2UzuxAISF/YMreMZ3po7pkGeSU6piyR6ZYdx/bdu1LPbPLle+dvc4jmzLiI Wq3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ZnmnRgGKNiuHKP4xQ+Psb82+ZlcgyaT+Kp+taLo7AZc=; b=lCLlKNwE4bbC10NZ2NOllGdCBxnxbX4N4TV5W9wFQJcH+E6V3A4icO5h0TRFTs32vc AccJ3DqoM9WXyOWndktVkAVk2tM2tSjs4IrLQ+yS8J7/jhmYGXovILqvKJUAOTYF6gmr aR8J2q6kc3kzxk/zBbIAYLMjWZC86M/rXvf9l1KWm4nH5Yys+z9A4E/P/E+L0PU+IgpD MX63f87xxbx1gwNhcrmnSPsK4EfVBoUKxjdqQ6MHcDmKJnUAyKY0vOQ2DwfCmK1zNlCr uuEYHPfiZYlX+IPxAabVMkAeMbRw9vmNGFnbzi4U62rJPAh30nJWsDwlR1i1WwlUbfj4 ZaIQ== X-Gm-Message-State: AO0yUKXB7M0AhqshK4TwOaOLS0ryJPO7RQQ9Ha5Vwrn4Gz+atSy7Noyy hgQiB1uAOeMGZbqFe1sdJ8/dEzqZCChzwHH0R+qwbSIR X-Google-Smtp-Source: AK7set+7OwoN1v9LiCXMH6w7ZaZZqs3NT9HjamgAIn0Tz55H3lh8MBJ6mweM72fLr7gQcCPD7PKnd7n8lSy1fGZ2C+g= X-Received: by 2002:a62:e811:0:b0:592:5eb2:84ea with SMTP id c17-20020a62e811000000b005925eb284eamr4969557pfi.4.1677426672601; Sun, 26 Feb 2023 07:51:12 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:6a10:c184:b0:448:d92c:1b8f with HTTP; Sun, 26 Feb 2023 07:51:12 -0800 (PST) From: Paul Winalski Date: Sun, 26 Feb 2023 10:51:12 -0500 Message-ID: To: TUHS Content-Type: text/plain; charset="UTF-8" Message-ID-Hash: JUSBXS332Q3MAFX4Z7RM7F637FUXPDL4 X-Message-ID-Hash: JUSBXS332Q3MAFX4Z7RM7F637FUXPDL4 X-MailFrom: paul.winalski@gmail.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: Origins of the SGS (System Generation Software) and COFF (Common Object File Format) List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On 2/25/23, Brian Walden wrote: > It was originaly 205. See A.OUT(V) (the first page) at > https://www.bell-labs.com/usr/dmr/www/man51.pdf it was documented as to > why. > > > The header always contains 6 words: > 1 "br .+14" instruction (205(8)) > 2 The size of the program text > 3 The size of the symbol table > 4 The size of the relocation bits area > 5 The size of a data area > 6 A zero word (unused at present) > > I always found this so elegant in it's simplicity. Just load and start > execution at the start (simplifies exec(2) in the kernel) I always wondered > if this has done anywhere else before, or invenetd first in unix. IBM's Basic Program Support (BPS) for System/360 was a set of stand-alone utilities for developing and running stand-alone programs. BPS/360 wasn't really an operating system because there wasn't any resident kernel. You just IPLed (Initial Program Load; IBM-speak for "boot") your application directly. So the executable format for BPS had a bootstrap loader as the "program header". Not quite the same thing as a.out's 205(8) magic number, but similar in concept. I don't know of any other OS ABI that uses this trick to transfer control to application programs. Microsoft uses something similar in PECOFF. A PECOFF executable for x86 or X86-64 starts with a bit of code in MS-DOS MZ executable format that prints the message "This program cannot be run in DOS mode". -Paul W.