From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 95176 invoked by alias); 22 Mar 2018 12:30:48 -0000 Mailing-List: contact gnu-gabi-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: gnu-gabi-owner@sourceware.org Received: (qmail 94733 invoked by uid 89); 22 Mar 2018 12:30:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.4 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 spammy=Modra, modra, Hx-languages-length:950 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: mail-pl0-f51.google.com Received: from mail-pl0-f51.google.com (HELO mail-pl0-f51.google.com) (209.85.160.51) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 22 Mar 2018 12:30:04 +0000 Received: by mail-pl0-f51.google.com with SMTP id 61-v6so5179084plf.3 for ; Thu, 22 Mar 2018 05:30:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=PJCGzrWikw1xPt4l1lDnTi8wKvMHXyihKr77392yW2k=; b=UCu2e3+CUK/Tu9ovSe5lZizLuN9ZdJbBz3Clwzvg7ePNXU41AN5CbZSSHdz86miixs zxRw7Q8ZOy50cownX8dzth5MSa8xitQSqTyMWBXH1wqxYytK992YNKgEw1b3I2AywTya 613vVyBkPI0/OKuVkzIC92oYNh53/RuKRpj++0kHuztWUH1O+KglkI24PP4J9g2qyR2u /yzzioqK7iYB4PDUw+6+5yZKeWJt2I2dmUvo+rmia5dkYRV4EjbBLuL1EucGkVuBe8h1 ZFbk4lJLsqpcdMA+uqzDM19Jjv7Tyetva6wB7vQeLYfWu6tI4Mekbayy+HCBEo6ntsyF UTWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=PJCGzrWikw1xPt4l1lDnTi8wKvMHXyihKr77392yW2k=; b=AC9u383QeCFKPFCnPtahfLQAjarU1kr004TiZbP62e4fCk82sgvECjB20O5/+RVz84 Nr8dTi5LQiLUMhOGLhcUKBIPPNXYe9jZBDrS4MSpwt3QhsD5DQqNhs1LyEwAPMdwi+w9 vjjUxCn8X9uef+FAnYI9zjEzV33MZNR5Og7rWR9t2k8GTyniMBPU8pikqcobjYbv8JMU OP+EJ4PdqYGJuXCvgathzqtP2gbV63uv60uQtbIyTUCLPoPcG6QVRWhiIWXaP9bTei8f mFWHNQgigEax52RkDNYwUCi+E8RkBF8fa6safkgbt0bqEbjUkpbE6YMJye2K635IL3np /kWw== X-Gm-Message-State: AElRT7GkynDc9gi0fDkM7cjgk8Ov2HZprP7Rt2EoXI31Gt+qSpNR9xl4 oAUoeRXZhRhe6+nb/luHkcM= X-Google-Smtp-Source: AG47ELuNl9obRAvNYMrlFYYawqI31N+lw5/g+ArrdjszWa0BrX6Hm0kcc5EztOzCJyK9+pIyLbOyHQ== X-Received: by 2002:a17:902:aa83:: with SMTP id d3-v6mr24475039plr.36.1521721803297; Thu, 22 Mar 2018 05:30:03 -0700 (PDT) Received: from bubble.grove.modra.org (CPE-58-175-241-133.hdcz1.win.bigpond.net.au. [58.175.241.133]) by smtp.gmail.com with ESMTPSA id l64sm13916260pfi.142.2018.03.22.05.30.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Mar 2018 05:30:02 -0700 (PDT) Received: by bubble.grove.modra.org (Postfix, from userid 1000) id E6F24C04D1; Thu, 22 Mar 2018 22:59:57 +1030 (ACDT) Date: Mon, 01 Jan 2018 00:00:00 -0000 From: Alan Modra To: generic-abi@googlegroups.com Cc: Carlos O'Donell , gnu-gabi@sourceware.org Subject: Re: RFC: Audit external function called indirectly via GOT Message-ID: <20180322122957.GQ3812@bubble.grove.modra.org> References: <20180317133115.GA4681@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-IsSubscribed: yes X-SW-Source: 2018-q1/txt/msg00012.txt.bz2 On Wed, Mar 21, 2018 at 10:15:26PM -0700, Cary Coutant wrote: > If you get rid of the GOT entry, and have the point of call jump > indirectly through the PLTGOT entry, which is initialized to point to > part (b) of the PLT entry, everything should work the same as without > -fno-plt. Essentially, all -fno-plt would do is inline part (a) of the > PLT entry. > > -cary > > * I'm using parts (a) and (b) to refer to the two parts of a PLT > entry: (a) an indirect jump via the PLTGOT entry, and (b) code that > jumps to the lazy binding routine, passing the JUMP_SLOT index. Yes, that essentially is what I've done for -fno-plt on powerpc. The call stub code is inlined while the rest of the PLT is more or less unchanged. So you get all of the usual lazy-binding features by default, and can use "-z now -z relro" if you want a read-only PLT. -- Alan Modra Australia Development Lab, IBM