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 4D69F3949F1B for ; Mon, 9 Mar 2020 14:02:31 +0000 (GMT) Received: by mail-pj1-x1044.google.com with SMTP id gv19so4489542pjb.5 for ; Mon, 09 Mar 2020 07:02:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=G3mZHOwxOcjYJUBMZM13w3jux+AIk+H4wry3cNxND+s=; b=bI6C7mXh6wQi1AVr9S5DIymvSndpdaG4S5MbfPsmdeGOAs6xnGtYp1t7U1ffukIEpG gYr1chvuh81Y65dYpH54CPpNNMZSBZ105136YiqWEhS6nbXR3GPA9e1R8hWXxYetHOZW 3SeGar6PzKyWlLkC6taeB6t7j1mgHiFfC2dymlib4z1ExzXpHg5O0DuZSt0gHcp9g7Er AIAaZRSl0tV5jZjdfEk+Km3qbecDtrHxiU6KecXIACuICYguI4C4EbDS6SqxFovhcYNH qDEVqUVySDdfm2sTk9lnEcZGpz/NNoEdwR3y6z29rTngtdi2h5CVNc5I+BsgXMT0HOzL byDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=G3mZHOwxOcjYJUBMZM13w3jux+AIk+H4wry3cNxND+s=; b=Ecbn2k+8vAWQSApYIsUwqCgUiWV28vuMm2UeJcke9VFbRCgEklzVjE8WMCohbqkBQO 01kp3CROKwzqnIun9TdhQwRFLzmO/hpiFV/CmGNxaTjuoQZlxeAc+SHgEIv0nLySE5WC NoiMDqp/L+HHaV7HG62nAvbPvlDyZ4CftWgDFuomjZYrh14E7cZGgz83ZLjebZ6jWOJf TRfXmGhotr3mqSWSkIgNiNPjVMSMsyaHisZtAhPPjPq4pE+mKoxxwcDKV0nM3zccUvHl RjsXm+iih0i9RD6OZpwmEpAoyTf26o3/jFFjkW1kF6QA4krAIo+dYJD6/axJKGiXdCQu vCoQ== X-Gm-Message-State: ANhLgQ2DnfyzFiIOi47WhuRWMfFyIsa1O0ZHRpOLYSkNRzEAlSpfqvJg APpXzin5LK5dJxR0wCzHZ17ap6fp X-Google-Smtp-Source: ADFU+vuOxIJDFMWZAmUtXay81yLf6puYDUEiMiEBSydBTHIuIMHD+OtCyH6DpS53sIMz+mhz5WTxmA== X-Received: by 2002:a17:902:bcca:: with SMTP id o10mr13790797pls.160.1583762550002; Mon, 09 Mar 2020 07:02:30 -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 x9sm14283816pfa.188.2020.03.09.07.02.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 09 Mar 2020 07:02:29 -0700 (PDT) Subject: Re: RFC: [PATCH] ELF: Don't require section header on ELF objects To: Binutils References: <20200308175947.GA911529@gmail.com> <87y2sac5er.fsf@mid.deneb.enyo.de> <79bc289f-9202-9aff-61c3-92c7190d2f7d@gmail.com> <875zfdad9j.fsf@mid.deneb.enyo.de> <36183da0-ed0c-13bf-2cb3-bd004e8d46f9@gmail.com> <87y2s98y94.fsf@mid.deneb.enyo.de> <87tv2x8xmy.fsf@mid.deneb.enyo.de> From: Kaylee Blake Openpgp: preference=signencrypt Autocrypt: addr=klkblake@gmail.com; prefer-encrypt=mutual; keydata= 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 EdpFPEpbpgoe5SmlCrB+cO0ATaAAA06SxQ== Message-ID: <7b5777f5-3d04-5329-f68f-486e71a9b299@gmail.com> Date: Tue, 10 Mar 2020 00:32:25 +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=-1.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS autolearn=no 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 14:02:32 -0000 On 10/3/20 12:24 am, H.J. Lu wrote: > On Mon, Mar 9, 2020 at 6:46 AM Kaylee Blake wrote: >> >> On 9/3/20 11:59 pm, Florian Weimer wrote: >>> * Kaylee Blake: >>> >>>>> I think that's conceptually the wrong thing to do for ELF, sorry. If >>>>> there is no section header, the object should be unlinkable. The >>>>> linker should not use the dynamic segment to locate the symbol >>>>> information, only the dynamic section (in case the link ABI and >>>>> run-time ABI are different). >>>> >>>> I'm confused by your comment about link and run-time ABIs differing; >>>> surely if the ABI at runtime differs from the ABI at link time, you are >>>> just going to crash at runtime? >>> >>> No, the typical application are fewer symbols in the DSO at link time >>> than at load time, for example for linking against an older version of >>> glibc than is installed on the system. >> >> How is that being done? On my machine, the symbols in glibc found >> through the section header are identical to the ones found through the >> dynamic array, except that some of the latter are missing symbol >> versions, which I think is due to this patch not looking them up? (I'm >> not actually sure if this patch does that or not). >> > > Symbol versioning is a real problem. We need to reconstruct all dynamic > symbol info from PT_DYNAMIC segment. I am running into a wrong > output problem on i386. I am leaning toward Florian's suggestion to > only add --remove-section-header and -z nosectionheader without > reconstructing dynamic symbol info from PT_DYNAMIC segment. Ah, it's not as simple as just grabbing addresses / sizes from the DT_VER* entries? Admittedly I don't actually know much about how symbol versioning operates. -- Kaylee Blake C is the worst language, except for all the others.