From owner-dev-commits-src-main@freebsd.org Fri Feb 19 16:58:11 2021 Return-Path: Delivered-To: dev-commits-src-main@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 A78945332D0; Fri, 19 Feb 2021 16:58:11 +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 4DhySg2fQYz4jPb; Fri, 19 Feb 2021 16:58:11 +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 11JGw1M0095666 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 19 Feb 2021 18:58:04 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 11JGw1M0095666 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 11JGw1MF095665; Fri, 19 Feb 2021 18:58:01 +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 18:58:01 +0200 From: Konstantin Belousov To: Brooks Davis Cc: Warner Losh , Brandon Bergren , Jessica Clarke , John Baldwin , src-committers , "" , 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: <3045F222-DBAC-463C-B429-075B2CFB115A@freebsd.org> <012169A0-67EC-48B7-A1CB-2A9921EF63FA@freebsd.org> <20210219164003.GB50170@spindle.one-eyed-alien.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210219164003.GB50170@spindle.one-eyed-alien.net> 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: 4DhySg2fQYz4jPb 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-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Feb 2021 16:58:11 -0000 On Fri, Feb 19, 2021 at 04:40:03PM +0000, Brooks Davis wrote: > On Fri, Feb 19, 2021 at 09:14:07AM -0700, Warner Losh wrote: > > On Fri, Feb 19, 2021 at 2:43 AM Konstantin Belousov > > wrote: > > > > > 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. > > > > FWIW: Mips likely can play the 'not very popular tier 2 card trending > > towards tier 3' card, at least for 13 since (a) 13.0 isn't out yet and (b) > > the project doesn't produce mips binaries. It could likely even play it for > > 12, but that might be a wee bit disruptive to the few users of it we have. > > IMO it's worth MFCing for 13. My inclination would be to leave 12 > alone. Very few people will be using in an environment where they do > installworld-based updates, but given what a pain it is we might as well > not make their life more difficult. Ok, answering the latest mail in the thread. I put the review to remove __NO_TLS at https://reviews.freebsd.org/D28796 Feel free to comment and accept.