Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Feb 2021 09:14:07 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        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:  <CANCZdfox7i9FLV2DbBJrc6cyDYyEvSOR3MdsTzXq5739tsjvjg@mail.gmail.com>
In-Reply-To: <YC%2BIHtPMyANs5dM4@kib.kiev.ua>
References:  <202102180035.11I0ZnL3070354@gitrepo.freebsd.org> <9687575c-dd7c-1496-850b-2018f4bca3da@FreeBSD.org> <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>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Warner



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