From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id 966C03858D37 for ; Mon, 9 Jan 2023 10:21:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 966C03858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-x62d.google.com with SMTP id g16so8971342plq.12 for ; Mon, 09 Jan 2023 02:21:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:subject:from:content-language:to :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=/70RLaffUC4HHTTMIHSQijR4Yufas2fa4gusWz3l2pw=; b=JL7F+Hmta+ss3lP9XnlFL6Dam7o59MV7sVaA682D9seo/U4j1+MgBPbhYas5X3QUif zTEwDLsIqkRi/+syWHW28m66wTGaMB4YrB3NcT+Fne31xqiIfOXhJxryXzuvrJleSUyy u4EU95XP08VF83pZwiFoF96yzUubI140Mit2jm6zj1/zyLm4Dm+1stwyRbApQpKlVGWq MPosRRiS+OYAxX08B8CUIUTYKciKsXfUtRhhlf9Aa6ieQN2MGp2h45M9cj+OoRp+Bg6/ QxQruegKg8sOUNujTL0lPPL3XRnp5Id10neH34jhP0gfQ3imY9PlnWGahYAeES5+fOs4 S4MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:subject:from:content-language:to :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/70RLaffUC4HHTTMIHSQijR4Yufas2fa4gusWz3l2pw=; b=ADrQoCNmehht54DJrFP3eNQ8+VcnZCJtezvghJsH2aFPawT/22kZC0gumV5tM5LQpg KKE8eA40RC6Nb87uCLedpi+MdQFtlMgLFuGFdupUDZtkPgwEjH2Yqzxm13KVSCrTooWG i+hgjtdYS9PFS7BFvwlNZUzOjLkzJe409eYkuc8cN+s4INHIgZEfhMRXCKaMOiqXCCLM y+UM0or/I8N9fta/hYNYRXpr3gMompKPrDjcpsWvo/S1tXkcUw9AccHKXLeTA9jLl9FP eEtXoewOTDumC6KislPRX63JWLMf2474210AJFPyhki0KSmLWQdCTHb28DUnQG0SPxDV +z4A== X-Gm-Message-State: AFqh2kpvknxBnr5mzC7hAn/8wyQR8M9bf0lJ1l7apsKGdIHN9KRwmNbc qPjcjmzXN14McNGbPCoCM1xljzATVI4= X-Google-Smtp-Source: AMrXdXubsCiQvMUmdbdbk4u8e4omu/2buTQFEPAjJf1Me9JyGedLKGQdAogd/L4NUiloK8hAT+j0+w== X-Received: by 2002:a17:902:b493:b0:189:cb73:75f0 with SMTP id y19-20020a170902b49300b00189cb7375f0mr58915340plr.8.1673259688693; Mon, 09 Jan 2023 02:21:28 -0800 (PST) Received: from ?IPV6:2001:ce8:126:2a3a:918e:ae34:6c8a:51cb? ([2001:ce8:126:2a3a:918e:ae34:6c8a:51cb]) by smtp.gmail.com with ESMTPSA id t12-20020a170902b20c00b001931f232962sm4177749plr.112.2023.01.09.02.21.27 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 09 Jan 2023 02:21:28 -0800 (PST) Message-ID: Date: Mon, 9 Jan 2023 19:21:25 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 To: binutils@sourceware.org Content-Language: en-US From: Cut Hour Subject: Old story (30 years ago) Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello. As an extension to ELF format that does not lose generality, it is conceivable that symbols can perform four arithmetic operations with other symbols and constants during resolution.  Symbol resolution information may be stored in Reverse Polish.  How much does this reduce recompilation of source files? The original motivation was the problem of recompilation caused by the advent of C++.  What's new in OOP?  It's inheritance. Encapsulation without inheritance can be done in plain C without recompilation problems.  So what is inheritance?  It's the offset of member variables and member functions. It is not good to hard-code this at compile time.  Should be deferred until link time. A long time ago, I tried to create a language in which every class had a uniform method table and all methods were called via a single pointer, and to see how practical it would be.  I thought that it would be possible to create a suitable translator to C, but I was frustrated because of such a problem.  The conclusion is that "the current compiler infrastructure (such as binutils) assumes ONLY STRUCTURED PROGRAMMING". I don't know very well about Clang or LLVM.  So this might be already out of date.  Any need for this extended ELF do you think?