From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1044.google.com (mail-pj1-x1044.google.com [IPv6:2607:f8b0:4864:20::1044]) by server2.sourceware.org (Postfix) with ESMTPS id 4F3BE394504A for ; Mon, 9 Mar 2020 00:02:44 +0000 (GMT) Received: by mail-pj1-x1044.google.com with SMTP id y7so173318pjn.1 for ; Sun, 08 Mar 2020 17:02:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:cc:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=sfC2ZfJcxok18EE2cfjBfkO58E7geXGKy4fefNLxeIg=; b=C3/B/8jCrsFU7GpAe/MHQdqL+xaTQ4deAuMcBNc1AgJidEd1HxRg6goo9huZgDA4fB 5/5EkIHTVMqQTpTaBdNHvdCio2JfHIZdwvvcZ+O1dTbyBfdQ78t66red5qyD+qXyGQKb ASFjR/tqm5qakiZhyKdIZmeYSe5EkEGLBTCych52e1sbncAqwr4sjZFG7RjsDRQvbYPu I7NXNU1+HOMBdKh1E4gv31pminRQ4oduZtHOF2WO+Kxkr042h4Dr5cIx2Q2/nwJVULIY jsjjhkDQ+mEUqF/8ZFkglkI5vBWbd5c+MaCZcSksqtG50xrbaItjjH1qjRZzjO2+pclW GE6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=sfC2ZfJcxok18EE2cfjBfkO58E7geXGKy4fefNLxeIg=; b=R+wTGJojJKXJfEhRCpOqtYtj2TTK7AUFn8HGSZs5qOJ7jIUfGgbY35ZlxJo6SD1NvL A8xkTACOR6Jfzr75328WatcW+lzQRTWXVeLDneSRO9cL6R4/s0zmn9R8gn+ogq0/wjyx FZQ+10diZnQBN8pIqPp7dSc7lxZYOQWohOhuUzcFVD9f8rapXjpbOQVX5MWQyATdX5hB JkABe1BYz2DgDUzydsbCmGbx3ySlTm2XMAu4gzoxa0mf8e98BOVDx7vCN8jexVUjRMfs XDizaQsoaJmHG8paHaJ50Mu3Sutw8FX1Vw9dUTBmxacLTNeLXeHnypQ5tuXreB/Yb1gw PohQ== X-Gm-Message-State: ANhLgQ0H/6opn/w6PFMT8dMv+2OR6XjCSb4nCQpRIOaNg+5C3JH6Hdrd cT4+Fkl8cfBVO7NsVWa0npNhUY6V X-Google-Smtp-Source: ADFU+vt+hWd6imge0qSA74q+YGWLQmIvTwN5/IL6mo5Z18uZM+dKf+AOixL/t4ctQXoCOAwBLdVOeQ== X-Received: by 2002:a17:90a:bd90:: with SMTP id z16mr15782753pjr.36.1583712163371; Sun, 08 Mar 2020 17:02:43 -0700 (PDT) Received: from [10.0.2.1] (61-245-154-180.3df59a.adl.nbn.aussiebb.net. [61.245.154.180]) by smtp.googlemail.com with ESMTPSA id x70sm33204538pgd.37.2020.03.08.17.02.42 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Mar 2020 17:02:43 -0700 (PDT) Subject: Re: RFC: [PATCH] ELF: Don't require section header on ELF objects Cc: Binutils References: <20200308175947.GA911529@gmail.com> <20200308233553.GG5384@bubble.grove.modra.org> From: Kaylee Blake Openpgp: preference=signencrypt Autocrypt: addr=klkblake@gmail.com; prefer-encrypt=mutual; keydata= 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 EdpFPEpbpgoe5SmlCrB+cO0ATaAAA06SxQ== Message-ID: Date: Mon, 9 Mar 2020 10:32:39 +1030 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_2, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, MALFORMED_FREEMAIL, MISSING_HEADERS, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 00:02:45 -0000 On 9/3/20 10:16 am, H.J. Lu wrote: > On Sun, Mar 8, 2020 at 4:35 PM Alan Modra wrote: >> >> On Sun, Mar 08, 2020 at 11:06:33AM -0700, H.J. Lu wrote: >>> On Sun, Mar 8, 2020 at 10:59 AM H.J. Lu wrote: >>>> >>>> Any comments? >>>> >>>> Kaylee, do you have copyright paper with FSF? >>>> >>>> H.J. >>>> --- >>>> Section header isn't mandatory on ELF executable nor shared library. >>>> This patch adds a new linker option, -z nosectionheader, to omit ELF >>>> section header when building an executable or shared library, adds >>>> an objcopy and strip option, --remove-section-header, to remove ELF >>>> section header from an executable or shared library. >>>> >>>> The PT_DYNAMIC segment contains DT_HASH/DT_GNU_HASH/DT_MIPS_XHASH, >>>> DT_STRTAB, DT_SYMTAB, DT_STRSZ and DT_SYMENT, which can be used to >>>> reconstruct dynamic symbol table when section header isn't available. >>>> For DT_HASH, the number of dynamic symbol table entries equals the >>>> number of chains. For DT_GNU_HASH/DT_MIPS_XHASH, only defined symbols >>>> with non-STB_LOCAL indings are in hash table. Since in dynamic symbol >>>> table, all symbols with STB_LOCAL binding are placed before symbols with >>>> other bindings and all defined symbols are placed before undefined ones, >>> >>> It should read >>> >>> --- >>> all symbols with STB_LOCAL binding are placed >>> before symbols with other bindings and all undefined symbols are placed >>> before defined ones, >>> --- >> >> That's new to me. I don't think there is any ordering in .dynsym >> among non-local symbols. > > I will get clarification from gABI group. > >> The patch looks OK. >> > Looks like it's required by DT_GNU_HASH, from what I could find. -- Kaylee Blake C is the worst language, except for all the others.