Re: git: 49d684369c66 - main - libthr: filter rather than link with libsys

From: Brooks Davis <brooks_at_freebsd.org>
Date: Mon, 12 Feb 2024 16:14:07 UTC
On Sat, Feb 10, 2024 at 01:36:19PM -0800, Don Lewis wrote:
> On  7 Feb, Brooks Davis wrote:
> > The branch main has been updated by brooks:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=49d684369c6682eebca325c55a6c96b7c03f5aeb
> > 
> > commit 49d684369c6682eebca325c55a6c96b7c03f5aeb
> > Author:     Brooks Davis <brooks@FreeBSD.org>
> > AuthorDate: 2024-02-07 19:38:16 +0000
> > Commit:     Brooks Davis <brooks@FreeBSD.org>
> > CommitDate: 2024-02-07 19:50:47 +0000
> > 
> >     libthr: filter rather than link with libsys
> >     
> >     The allows gcc + GNU ld to link programs with -m32 -pthread without
> >     erroring out due to _umtx_op_err being undefined (unless -lsys is added
> >     to the link command.
> >     
> >     We now always link _umtx_op_err into libthr (not just when it's static)
> >     and filter it with libsys so we call that implementation.  The dynamic
> >     implementations (at least the assembly ones) should likely become stubs
> >     as a further refinement.
> 
> Thanks!  I ran into this problem early this week when lang/gcc12 stopped
> bulding and I spent a bunch of time bisecting.

Sorry about that.  We (mostly antone) did a number of exp-runs, but I
made a last minute change to fix (somewhat ironically) buildworld with
GCC 12 and that broke the GCC MULTILIB option...  I'm not convinced
there isn't an underlying bug in GNU ld's -m32 support, but even if
there is we need this to work with past versions so I've not put more
effort into this.

-- Brooks