Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Feb 2021 18:58:01 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        Warner Losh <imp@bsdimp.com>, Brandon Bergren <bdragon@freebsd.org>, Jessica Clarke <jrtc27@freebsd.org>, John Baldwin <jhb@freebsd.org>, src-committers <src-committers@freebsd.org>, "<dev-commits-src-all@freebsd.org>" <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:  <YC/uGRdAnY3lBW7I@kib.kiev.ua>
In-Reply-To: <20210219164003.GB50170@spindle.one-eyed-alien.net>
References:  <YC7TcMtrg8r7eAuL@kib.kiev.ua> <DBFAB331-737A-44E0-BBAA-65AF2C870AA9@freebsd.org> <ce964b75-4a11-4b5e-b47e-43a384da047f@www.fastmail.com> <3045F222-DBAC-463C-B429-075B2CFB115A@freebsd.org> <bc966f88-292e-4c2f-b1e7-6f93f890af7a@www.fastmail.com> <012169A0-67EC-48B7-A1CB-2A9921EF63FA@freebsd.org> <d6d0ff3b-f769-4f52-ac6a-47c4e974bed6@www.fastmail.com> <YC%2BIHtPMyANs5dM4@kib.kiev.ua> <CANCZdfox7i9FLV2DbBJrc6cyDYyEvSOR3MdsTzXq5739tsjvjg@mail.gmail.com> <20210219164003.GB50170@spindle.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <kostikbel@gmail.com>
> > 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 <bdragon@FreeBSD.org> 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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YC/uGRdAnY3lBW7I>