From owner-dev-commits-src-all@freebsd.org Fri Feb 19 09:43:02 2021 Return-Path: Delivered-To: dev-commits-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 75699542776; Fri, 19 Feb 2021 09:43:02 +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) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DhmpZ1Yv7z3hG3; Fri, 19 Feb 2021 09:43:01 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 11J9gs7t090940 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 19 Feb 2021 11:42:57 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 11J9gs7t090940 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 11J9gsYs090939; Fri, 19 Feb 2021 11:42:54 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 19 Feb 2021 11:42:54 +0200 From: Konstantin Belousov To: Brandon Bergren Cc: Jessica Clarke , John Baldwin , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 24fd63e0970f - main - mips: Don't set __NO_TLS to disable some uses of TLS. Message-ID: References: <202102180035.11I0ZnL3070354@gitrepo.freebsd.org> <9687575c-dd7c-1496-850b-2018f4bca3da@FreeBSD.org> <3045F222-DBAC-463C-B429-075B2CFB115A@freebsd.org> <012169A0-67EC-48B7-A1CB-2A9921EF63FA@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 4DhmpZ1Yv7z3hG3 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Feb 2021 09:43:02 -0000 On Thu, Feb 18, 2021 at 07:54:22PM -0600, Brandon Bergren wrote: > > > On Thu, Feb 18, 2021, at 7:07 PM, Jessica Clarke wrote: > > On 19 Feb 2021, at 00:03, Brandon Bergren wrote: > > > > Ok, so the mistake was not deleting it 8 years ago and instead leaving > > it around to become part of the ABI. The issue you're referring to > > specifically is __getCurrentRuneLocale and _ThreadRuneLocale (the > > latter doesn't exist for __NO_TLS, and the former changes between > > static inline and extern)? __NO_TLS should have blocked powerpc64 (and > > mips) from becoming tier 2 IMO, but we're stuck with it, so yeah, it's > > a major ABI break (frustratingly tiny but breaks the core system > > libraries) and thus can't be MFC'ed. > > > > Jess > > Right. > > And I fixed it for powerpc64 for 13 finally becuase I had the excuse of "Well, we're switching to an entirely incompatible ABI due to lld not supporting ELFv1, so I might as well fix this one at the same time since we're forcing people to reinstall from scratch anyway." > > So yeah, in HEAD, all references to __NO_TLS can go away fully, in stable/13 the mips part probably has to stay (riscv can play the tier 3 card though), and in 12 it's baked in for life. > > The "(defined(__powerpc64__) && (!defined(_CALL_ELF) || _CALL_ELF == 1))" part is no longer relevant for 13 or HEAD, since the ELFv2 transition is over and done with as of the end of 2019. I probably should have taken that part out last year, since it was meant to just be a temporary compatibility shim so that people could compile both the gcc4.2 ELFv1 and llvm ELFv2 versions of 13-CURRENT out of the same tree back when we were in the middle of switching over. So why didn't you go ahead and removed at least the remaining block that defines __NO_TLS for PowerPC? I promise to clean the tree out of its uses after that.