Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Sep 2024 23:37:23 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        Antoine Brodin <antoine@freebsd.org>
Cc:        src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 1235d276b78a - main - lib{c,sys}: stop exposing errno symbol
Message-ID:  <Zvs2MyO4DYbpvuCb@spindle.one-eyed-alien.net>
In-Reply-To: <ZvrJXS530bbUN8Q2@spindle.one-eyed-alien.net>
References:  <202409271933.48RJX0dH066668@gitrepo.freebsd.org> <CAALwa8kjj4mxrcJXRsY9rcKeEdmm0xedC8VMPFErzScKiJLsfA@mail.gmail.com> <ZvrJXS530bbUN8Q2@spindle.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 30, 2024 at 03:53:01PM +0000, Brooks Davis wrote:
> On Mon, Sep 30, 2024 at 08:33:18AM +0200, Antoine Brodin wrote:
> > On Fri, Sep 27, 2024 at 9:33???PM Brooks Davis <brooks@freebsd.org> wrote:
> > >
> > > The branch main has been updated by brooks:
> > >
> > > URL: https://cgit.FreeBSD.org/src/commit/?id=1235d276b78a769bded01d51c9bf3cdc480db9fb
> > >
> > > commit 1235d276b78a769bded01d51c9bf3cdc480db9fb
> > > Author:     Brooks Davis <brooks@FreeBSD.org>
> > > AuthorDate: 2024-09-27 19:27:46 +0000
> > > Commit:     Brooks Davis <brooks@FreeBSD.org>
> > > CommitDate: 2024-09-27 19:27:46 +0000
> > >
> > >     lib{c,sys}: stop exposing errno symbol
> > >
> > >     Officially since C11 (and in reality FreeBSD since 3.0 with commit
> > >     1b46cb523df3) errno has been defined to be a macro.  Rename the symbol
> > >     to __libsys_errno and move it to FBSDprivate_1.0 and confine it entierly
> > >     to libsys for use by libthr.  Add a FBSD_1.0 compat symbol for existing
> > >     binaries that were incorrectly linked to the errno symbol during
> > >     libc.so.7's lifetime.
> > >
> > >     This deliberately breaks linking software that directly links to errno.
> > >     Such software is broken and will fail in surprising ways if it becomes
> > >     threaded (e.g., if it triggers loading of a pam or nss module that
> > >     uses threads.)
> > >
> > >     Reviewed by:    kib
> > >     Differential Revision:  https://reviews.freebsd.org/D46780
> > > ---
> > >  lib/libsys/Makefile          |  2 ++
> > >  lib/libsys/Symbol.map        |  1 +
> > >  lib/libsys/Symbol.sys.map    |  1 -
> > >  lib/libsys/__error.c         | 10 +++++-----
> > >  lib/libthr/sys/thr_error.c   |  5 ++---
> > >  lib/libthr/thread/thr_rtld.c |  7 +++----
> > >  6 files changed, 13 insertions(+), 13 deletions(-)
> > 
> > Hello,
> > 
> > This breaks some ports:
> 
> Thank you for the list (that's more than I expected).  I'll work on
> updates.  The fix is to replace

I've updated all the maintainer-less ports.  The majority were djbware.
I was quite tempted to set deprecation notices as most produce many
warnings with a modern compiler.  These warning are easy to fix, but it's
clear no one cares.

For ports with maintainers I've filed bugs with fixes and pushed them all
to https://github.com/brooksdavis/freebsd-ports/tree/errno-fixes

-- Brooks



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