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 15272 invoked from network); 23 Feb 2023 20:40:44 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 23 Feb 2023 20:40:44 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 7966643122; Fri, 24 Feb 2023 06:40:38 +1000 (AEST) Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by minnie.tuhs.org (Postfix) with ESMTPS id AB4E64228E for ; Fri, 24 Feb 2023 06:40:32 +1000 (AEST) Received: by mail-pf1-x431.google.com with SMTP id a7so6790733pfx.10 for ; Thu, 23 Feb 2023 12:40:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FScKk4vzwo4JzrK00G1NVQqHRhzjYkPT/oOxFWGIT7I=; b=KGETbuYxbIoCnvniH1t7AaprEl8lPKWVYpUbUniT3QR4sSnW1/0Zm5vgG/5U7tjumU ke3H92iJ33QXVMEuSHrc8P+pAzz6wZXrezgPiAgXjCVBI5tRx0VF8QoIoputxXocGe3t Q3KpBt+ZzOHU0Ts3kcO5XdJEmocWSrKDJeZNLbZKmA1aNraAVGM0Gns23qVfS1QyRGgO Rz7gWF4drE0SOu4sBbQ+IQpStnovRYheBG0gUkuuEl79N/ryykB+qIyQ68j+beSVjf54 jqrYdp4qkQgusGstvdH4JU0BJuTEBmJZa5aVG/gHp3REjKLGyqFkcodjtPckmhlCcWnO 25fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=FScKk4vzwo4JzrK00G1NVQqHRhzjYkPT/oOxFWGIT7I=; b=DDEuaM5I9TcZe7GrU4F5EE8leTBWbYfRvb47hzSnAhmobUY8iMVm4H+If+njwvJns/ 4wgblqDloJ12zBotlrXT75z491KqYDNR9ulqM75G2XTsGNsUHS2rGO+QifQnO+NaeILC 8wf377xFwIQqngdi0DSBtaFntDkavOhazfnFpuv6ItUakq4GvfEp7sWnBbkSA+rYIu0m 3I6/YG09kNMg+PQD44Nwcap0RSym/7lVJ9bn1rYJ7q+RyKcBmCVUhHloDYTzOVkn73am bhDUV2G/+sWW7NqiglP5ZH4E8cmCSOQfC9Ipx+xcwc9wLRouCAjpxhPDMEqt4R0Gvxj3 E8MQ== X-Gm-Message-State: AO0yUKVT6I4W9/gNYO308VerqnIf1eh+4XREiBBs9kfWOq63hbG1BlU4 Q926KaQ1ReBtUmZMl9D9CVIUFsJbZuGcQiUhG5o= X-Google-Smtp-Source: AK7set/xDBXhfJQScayBJKBBg7M4trRr3GvEFqBDwhRKu4iQU8w/xOCO5yPoHqwt1L6cVrwwUVRkpzHr80cpgTIG8y0= X-Received: by 2002:a63:34c2:0:b0:502:f266:ae2e with SMTP id b185-20020a6334c2000000b00502f266ae2emr929209pga.6.1677184831751; Thu, 23 Feb 2023 12:40:31 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:6a11:3dc7:b0:412:8124:c58f with HTTP; Thu, 23 Feb 2023 12:40:30 -0800 (PST) In-Reply-To: References: From: Paul Winalski Date: Thu, 23 Feb 2023 15:40:30 -0500 Message-ID: To: segaloco Content-Type: text/plain; charset="UTF-8" Message-ID-Hash: YNNLRSYYJARGW35UEG4G74NJWH3ACTSY X-Message-ID-Hash: YNNLRSYYJARGW35UEG4G74NJWH3ACTSY 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 CC: The Eunuchs Hysterical Society 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: One property of a.out is that the format of an executable image is identical to that of an object file. One could write an assembly program that was self-contained and did not need to be linked to any other modules, run that through as(1). The resulting a.out file would be executable. No need to involve ld(1). MACH-O retained this concept of supporting self-contained object files as executables. COFF departed from that tradition. A COFF (or PECOFF) executable requires a data structure in the file called the optional header that contains important instructions to the program loader. This second header is "optional" only in the sense that non-executable object files do not have one. The optional header is created by ld(1). I'm almost certain that versions of as(1) that generate COFF output do not generate an optional header. In ELF, executable images have several sections such as the program header table section that contain the information present in COFF's optional header. Traditionally, operating systems such as IBM's OS for System/360/370/Z and DEC's VMS have very different formats for object files and executable programs. OpenVMS for Itanium and x86-64 use ELF for both objects and executables--a departure from the practice used on VAX and Alpha. -Paul W.