[PATCH v2] libdwfl: use GNU strerror_r only when available.
Dmitry V. Levin
ldv@altlinux.org
Fri Feb 5 14:52:25 GMT 2021
On Fri, Feb 05, 2021 at 03:46:42PM +0100, Mark Wielaard wrote:
> On Tue, 2021-02-02 at 05:56 +0300, Dmitry V. Levin wrote:
> > On Mon, Feb 01, 2021 at 09:16:56PM -0300, Érico Nogueira via Elfutils-devel wrote:
> > [...]
> > > I'm not sure if it's a bug in this configure.ac or this macro, but
> > > _GNU_SOURCE wasn't defined and lead to XSI strerror_r being used on
> > > glibc until I added the trick with CFLAGS and old_CFLAGS. It's still way
> > > slimmer than the previous version :)
> > >
> > > I see that -D_GNU_SOURCE is passed to the build via config/eu.am, maybe
> > > it could somehow be plugged into configure.ac earlier? I'm not entirely
> > > sure what's best.
> >
> > I wonder why don't we just use AC_USE_SYSTEM_EXTENSIONS
> > instead of all these dances with -D_GNU_SOURCE.
>
> Probably because it was only introduced in autoconf 2.60 and we didn't
> require that till 2009. We could now use it. But we'll have to be
> careful to keep supporting BAD_FTS:
>
> dnl Older glibc had a broken fts that didn't work with Large File Systems.
> dnl We want the version that can handler LFS, but include workaround if we
> dnl get a bad one. Add define to CFLAGS (not AC_DEFINE it) since we need to
> dnl check it before including config.h (which might define _FILE_OFFSET_BITS).
>
> I am not sure how AC_USE_SYSTEM_EXTENSIONS would interact with this and
> config.h inclusion.
Well, AC_USE_SYSTEM_EXTENSIONS != AC_SYS_LARGEFILE, the latter indeed
wouldn't work with old glibc, but the former has nothing to do with it.
--
ldv
More information about the Elfutils-devel
mailing list