From owner-svn-src-all@freebsd.org Sun Nov 24 16:47:26 2019 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C82591B4193; Sun, 24 Nov 2019 16:47:26 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47LbgK51YBz4Chw; Sun, 24 Nov 2019 16:47:25 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id xAOGlEOM086156 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sun, 24 Nov 2019 18:47:17 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua xAOGlEOM086156 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id xAOGlEgA086155; Sun, 24 Nov 2019 18:47:14 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 24 Nov 2019 18:47:14 +0200 From: Konstantin Belousov To: Brandon Bergren Cc: Justin Hibbits , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r355045 - head/libexec/rtld-elf/powerpc Message-ID: <20191124164714.GD2707@kib.kiev.ua> References: <201911240435.xAO4ZTgw070233@repo.freebsd.org> <20191124130441.GA2707@kib.kiev.ua> <849a4306-1cf7-4296-b594-236caa1572a0@www.fastmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <849a4306-1cf7-4296-b594-236caa1572a0@www.fastmail.com> User-Agent: Mutt/1.12.2 (2019-09-21) X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on tom.home X-Rspamd-Queue-Id: 47LbgK51YBz4Chw X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com X-Spamd-Result: default: False [-2.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all:c]; RCPT_COUNT_FIVE(0.00)[5]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; IP_SCORE(0.00)[ip: (-2.74), ipnet: 2001:470::/32(-4.63), asn: 6939(-3.51), country: US(-0.05)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; FREEMAIL_ENVFROM(0.00)[gmail.com]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Nov 2019 16:47:26 -0000 On Sun, Nov 24, 2019 at 10:32:23AM -0600, Brandon Bergren wrote: > On Sun, Nov 24, 2019, at 7:04 AM, Konstantin Belousov wrote: > > On Sun, Nov 24, 2019 at 04:35:29AM +0000, Justin Hibbits wrote: > > > Author: jhibbits > > > Date: Sun Nov 24 04:35:29 2019 > > > New Revision: 355045 > > > URL: https://svnweb.freebsd.org/changeset/base/355045 > > > > > > Log: > > > rtld/powerpc: Fix _rtld_bind_start for powerpcspe > > > > > > Summary: > > > We need to save off the full 64-bit register, not just the low 32 bits, > > > of all registers getting saved off in _rtld_bind_start. Additionally, > > > we need to save off the other SPE registers (SPEFSCR and accumulator), > > > so that their program state is not affected by the PLT resolver. > > Why do you need to save these registers ? Why would rtld touch them ? > > > Out of a need to make the binder as invisible as possible when interacting with code that may or may not be following the normal ABI rules regarding who is responsible for saving stuff. > > It's not just C code using it. This was not the question. If a register is saved at the bind entry, it means that it is used by rtld itself. I am surprised that rtld needs anything from SPE.