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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 18877 invoked from network); 28 May 2022 15:31:11 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 28 May 2022 15:31:11 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 1BCB0421D1; Sun, 29 May 2022 01:31:06 +1000 (AEST) Received: from mail-vk1-xa2b.google.com (mail-vk1-xa2b.google.com [IPv6:2607:f8b0:4864:20::a2b]) by minnie.tuhs.org (Postfix) with ESMTPS id 6094F40CC8 for ; Sun, 29 May 2022 01:30:47 +1000 (AEST) Received: by mail-vk1-xa2b.google.com with SMTP id bs5so3219656vkb.4 for ; Sat, 28 May 2022 08:30:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=iGRa2ij43Wm4TnS1MKGjw+4kJAtO6gROGsr5gJn9Wtw=; b=Pems1yyVkHFpoPn/un5y7Qy+/3p83R+tt9DCPyTjVQISI2r6JAEhFqJJUzG9Tdp7dl IvfjpA0zPb8MF6d5DNQR6ZUdcPCHF+t8PikS62emL2zSKO7bbdrnb/b+ZdFf09yRZsV7 +7lWa1wf7cjfHzH2oAUOaOUh6vkIpFbLBpmDSALXoPHplnTG50K+/7Xe6uMnsddSkNZd J6+qS6gaZBvkXk1pNEXiiY//dmnJqpadtownkByAL/s1nBvWxj6Q1IgBf0SJtnvPopG7 ccdeFlXrOHRRiLJg6+9IQOjnOo9DOnyqo0fSBDtKtQAfzl1/vccmqUvWPKpXgoOw/svy lkqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=iGRa2ij43Wm4TnS1MKGjw+4kJAtO6gROGsr5gJn9Wtw=; b=yBuXImEXNMBUSqw5kqJ2rGMhlGvtJ40oAo0amwrkvgBf1MAFVy4JKxBvF7RR1Xpg82 dfqP33D7GjXMW5icoI6F7Du5U7rUiqAmtUw/R6KVGRMvEm8AkCTXC111UT3KHD7OVCwB GlP7vtyTUTopwJzdWvElveZ8acdJV8lfcfXtKn+fG/Lv518hW9BjrNVF0FNYlEeqYnYx FDhnBKgMUgXm5/VU/tevgoHZWgvR7x3xLHEJwICAeuKmES42zLmkSQugSqmM4cvI+X90 a5cM9uoNkAonqFdDMl31h6OwYDCBM1dCO6wSHGCH4jLsAZWVnP4k35aIFxe/Ordg3JWs AVTg== X-Gm-Message-State: AOAM533Pnv65gL4+T+WrwpY/uLrZI83ORZ3djOUeU0vOo92ZK2BsCfnS 76zypElAlijUdq4ElGJ4YzlkDmIBRHFjDvoAF4FDvg5N X-Google-Smtp-Source: ABdhPJyHMnVBxTgUQ6zjjC0fWZmBJg2Lj3CzHY6K9phiJ+Sxl+J00d0jGDMF1FaFkwRjiZGQyxw6HNtcyW7phZpUWdY= X-Received: by 2002:a05:6122:1827:b0:358:30c7:b548 with SMTP id ay39-20020a056122182700b0035830c7b548mr7105897vkb.5.1653751846166; Sat, 28 May 2022 08:30:46 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ab0:3250:0:0:0:0:0 with HTTP; Sat, 28 May 2022 08:30:45 -0700 (PDT) In-Reply-To: References: <64EEED76-2EBB-4D55-ADE4-DEDFAC391322@planet.nl> <66ae3ff2-bd07-e192-a00f-f9c701d857c8@spamtrap.tnetconsulting.net> From: Paul Winalski Date: Sat, 28 May 2022 11:30:45 -0400 Message-ID: To: Warner Losh Content-Type: text/plain; charset="UTF-8" Message-ID-Hash: F666J2UVD4GUF5EWIU5T5XSBJ6TR4667 X-Message-ID-Hash: F666J2UVD4GUF5EWIU5T5XSBJ6TR4667 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: Grant Taylor , The Eunuchs Hysterical Society X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Historical application software List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On 5/27/22, Warner Losh wrote: > > People working on emulators run into these issues all the time as well. > There was a greater diversity of object formats when Unix was younger > as well, most have been displaced by ELF (PECOFF being the only exception > that's still around outside of Windows). The object formats that I'm aware of on Unix are: a.out - comes in three flavors: OMAGIC - executable instructions (text) and static data in the same section NMAGIC - text separate from data; shared text ZMAGIC - text separate from data; demand paged MACH-O - Object and executable format for the MACH microkernel. This is still the object format used by the Mac OS X operating system, which IIRC was built by placing FreeBSD Unix on top of the MACH microkernel. It allows more than the three sections (.text, .data, .bss) in a.out. COFF - Common Object File Format. Allows up to 64 object fsections. ELF - Executable and Linkable Format. Much more uniform (everything is a section) than its predecessors, and allows essentially an arbitrary number of sections. In addition to its use on Unix, this is the object file and executable format used by Linux and OpenVMS (on Itanium and x86). Are there others? PECOFF, Portable Executable and Common Object File Format, is the object file and executable format used by Microsoft Windows. It is a derivative of COFF, but, in typical Microsoft embrace-and-extend fashion, there are significant differences. When Windows NT was ported to the DEC Alpha processor, I had to add PECOFF support to DEC's GEM compiler back end. I started by adding conditional code to the existing COFF support, but I found that PECOFF differed enough from vanilla COFF that it was easier and more maintainable to fork off a separate module for it. -Paul W.