From: Dave Chinner <david@fromorbit.com>
To: Felix Janda <felix.janda@posteo.de>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 6/6] Add configure check for members of dirent for use in io/readdir.c
Date: Wed, 13 Jan 2016 09:37:03 +1100 [thread overview]
Message-ID: <20160112223703.GP10456@dastard> (raw)
In-Reply-To: <20160112213711.GB10558@nyan>
On Tue, Jan 12, 2016 at 10:37:11PM +0100, Felix Janda wrote:
> Dave Chinner wrote:
> > On Tue, Jan 12, 2016 at 09:00:22PM +0100, Felix Janda wrote:
> > > Signed-off-by: Felix Janda <felix.janda@posteo.de>
> > > ---
> > > configure.ac | 7 +++++++
> > > include/builddefs.in | 4 ++++
> > > io/Makefile | 10 ++++++++++
> > > 3 files changed, 21 insertions(+)
> > >
> > > diff --git a/configure.ac b/configure.ac
> > > index feee50a..3d6443a 100644
> > > --- a/configure.ac
> > > +++ b/configure.ac
> > > @@ -135,5 +135,12 @@ AC_CHECK_SIZEOF([char *])
> > > AC_TYPE_UMODE_T
> > > AC_MANUAL_FORMAT
> > >
> > > +AC_CHECK_MEMBERS([struct dirent.d_reclen],[],[],[[#include <dirent.h>]])
> > > +AC_SUBST(ac_cv_member_struct_dirent_d_reclen)
> > > +AC_CHECK_MEMBERS([struct dirent.d_off],[],[],[[#include <dirent.h>]])
> > > +AC_SUBST(ac_cv_member_struct_dirent_d_off)
> > > +AC_CHECK_MEMBERS([struct dirent.d_type],[],[],[[#include <dirent.h>]])
> > > +AC_SUBST(ac_cv_member_struct_dirent_d_type)
> > > +
> > > AC_CONFIG_FILES([include/builddefs])
> > > AC_OUTPUT
> > > diff --git a/include/builddefs.in b/include/builddefs.in
> > > index b5ce336..67d963c 100644
> > > --- a/include/builddefs.in
> > > +++ b/include/builddefs.in
> > > @@ -109,6 +109,10 @@ HAVE_FLS = @have_fls@
> > > HAVE_FSETXATTR = @have_fsetxattr@
> > > HAVE_MREMAP = @have_mremap@
> > >
> > > +HAVE_STRUCT_DIRENT_D_RECLEN = @ac_cv_member_struct_dirent_d_reclen@
> > > +HAVE_STRUCT_DIRENT_D_OFF = @ac_cv_member_struct_dirent_d_off@
> > > +HAVE_STRUCT_DIRENT_D_TYPE = @ac_cv_member_struct_dirent_d_type@
> > > +
> > > GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall
> > > # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl
> > >
> > > diff --git a/io/Makefile b/io/Makefile
> > > index 0b53f41..9574168 100644
> > > --- a/io/Makefile
> > > +++ b/io/Makefile
> > > @@ -94,6 +94,16 @@ ifeq ($(HAVE_MREMAP),yes)
> > > LCFLAGS += -DHAVE_MREMAP
> > > endif
> > >
> > > +ifeq ($(HAVE_STRUCT_DIRENT_D_RECLEN),yes)
> > > +LCFLAGS += -D_DIRENT_HAVE_D_RECLEN
> > > +endif
> >
> > The C library should be defining these if those fields are
> > supported, right?
>
> It is strongly advised not to use these non-standard fields of dirent.
We're not writing POSIX applications here - this is a diagnostic
tool so if we are running on linux we need to expose them.
If we've got linux C libraries that don't provide feature macros for
the fields in the linux_dirent eposed by readdir(3), then I guess
we're stuck with having to play autoconf games, eh?
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2016-01-12 22:37 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1452627740.git.felix.janda@posteo.de>
2016-01-12 19:59 ` [PATCH 1/6] Move from __uint*_t types to uint*_t and likewise for __int*_t Felix Janda
2016-01-12 21:24 ` Dave Chinner
2016-01-12 21:46 ` Felix Janda
2016-01-12 22:02 ` Dave Chinner
2016-01-13 7:48 ` Christoph Hellwig
2016-01-20 0:46 ` Dave Chinner
2016-01-12 19:59 ` [PATCH 2/6] libxfs/linux.c: Replace use of ustat by stat Felix Janda
2016-01-12 21:24 ` Dave Chinner
2016-01-12 21:33 ` Felix Janda
2016-01-13 7:55 ` Christoph Hellwig
2016-01-13 17:42 ` Felix Janda
2016-01-14 10:20 ` Christoph Hellwig
2016-01-14 19:07 ` Felix Janda
2016-06-18 14:53 ` Felix Janda
2016-06-22 12:59 ` Christoph Hellwig
2016-09-04 1:23 ` Eric Sandeen
2016-09-08 0:00 ` Dave Chinner
2016-01-12 19:59 ` [PATCH 3/6] fsr/xfs_fsr.c: Include <paths.h> for _PATH_MOUNTED Felix Janda
2016-01-13 7:55 ` Christoph Hellwig
2016-01-12 20:00 ` [PATCH 4/6] linux.h: Use off64_t instead of loff_t Felix Janda
2016-01-13 7:55 ` Christoph Hellwig
2016-01-12 20:00 ` [PATCH 5/6] include/linux.h: Include <stdio.h> for fprintf and stderr Felix Janda
2016-01-13 7:55 ` Christoph Hellwig
2016-01-12 20:00 ` [PATCH 6/6] Add configure check for members of dirent for use in io/readdir.c Felix Janda
2016-01-12 21:30 ` Dave Chinner
2016-01-12 21:37 ` Felix Janda
2016-01-12 22:37 ` Dave Chinner [this message]
2016-01-13 7:58 ` Christoph Hellwig
2016-01-13 17:09 ` Felix Janda
2016-01-14 10:17 ` Christoph Hellwig
2016-01-14 19:06 ` Felix Janda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160112223703.GP10456@dastard \
--to=david@fromorbit.com \
--cc=felix.janda@posteo.de \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).