From: Daniel Gollub <dgollub-l3A5Bk7waGM@public.gmane.org>
To: subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org,
Garrett Cooper <yanegomi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Cc: ltp-list-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Adrian Bunk <bunk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [LTP] ltp getdents syscalls testcases and 2.6.27-rcX
Date: Wed, 24 Sep 2008 16:05:24 +0200 [thread overview]
Message-ID: <200809241605.24925.dgollub@suse.de> (raw)
In-Reply-To: <1222260480.5395.17.camel-NRFfyExJdYpgXGGE5LP+UZlqa2bBAFbm0E9HWUfgJXw@public.gmane.org>
On Wednesday 24 September 2008 14:48:00 Subrata Modak wrote:
> On Tue, 2008-09-16 at 14:27 +0200, Daniel Gollub wrote:
> > Hi,
> >
> > with 2.6.27-rc1(?) linux/dirent.h got removed Kbuild headers_install
> > targe and dirent struct got removed:
> >
> >
> > commit cf6ae8b50e0ee3f764392dadd1970e3f03c40773
> > Author: Adrian Bunk <bunk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > Date: Fri Jul 25 01:46:46 2008 -0700
> >
> > remove the in-kernel struct dirent{,64}
> >
> > The kernel struct dirent{,64} were different from the ones in
> > userspace.
> >
> > Even worse, we exported the kernel ones to userspace.
> >
> > But after the fat usages are fixed we can remove the conflicting
> > kernel versions.
> >
> >
> > This broke the build of some LTP syscalls testcases for "getdents", since
> > the <linux/dirent.h> include is missing and the "internal" dirent struct
> > get/got used in:
> >
> > testcases/kernel/syscalls/getdents/getdents01.c
> > testcases/kernel/syscalls/getdents/getdents03.c
> > testcases/kernel/syscalls/getdents/getdents02.c
> > testcases/kernel/syscalls/getdents/getdents04.c
> >
> > http://ltp.cvs.sourceforge.net/ltp/ltp/testcases/kernel/syscalls/getdents
> >/
> >
> > Is it safe to use the userspace dirent struct from <dirent.h> to fix the
> > build of this? Or what should be used for testing the getdents interface
> > instead?
>
> Yes, it is. There are numerous test cases in LTP which use:
> struct dirent,
> by including /usr/include/dirent.h. The interesting part is, this guy
> (/usr/include/dirent.h) in turn includes /usr/include/bits/dirent.h,
> where the definition of struct resides. Following is the patch which
> solves this issue along with page.h header file removal from 2.6.25
> onwards, reported by Garret earlier.
Tried the patch - ltp build with 2.6.27-rc linux headers sucessfully.
Thanks for the info and the patch!
Btw. man pages need to get also updated ... there are some pages which still
mention <linux/dirent.h>.
Garret, with 2.6.25 <asm/page.h> got removed - right?
If so swapon(2) man page needs also get fixed:
dgollub@marvin:~/projects/man-pages> grep -r "asm\/page.h" *
man2/swapon.2:.B #include <asm/page.h> /* to find PAGE_SIZE */
best regards,
Daniel
---
diff --git a/man2/getdents.2 b/man2/getdents.2
index bd9d261..eb13258 100644
--- a/man2/getdents.2
+++ b/man2/getdents.2
@@ -30,8 +30,8 @@ getdents \- get directory entries
.SH SYNOPSIS
.nf
.B #include <unistd.h>
+.B #include <dirent.h>
.B #include <linux/types.h>
-.B #include <linux/dirent.h>
.B #include <linux/unistd.h>
.B #include <errno.h>
diff --git a/man2/readdir.2 b/man2/readdir.2
index a757da1..b831320 100644
--- a/man2/readdir.2
+++ b/man2/readdir.2
@@ -30,8 +30,8 @@
readdir \- read directory entry
.SH SYNOPSIS
.nf
+.B #include <dirent.h>
.B #include <linux/types.h>
-.B #include <linux/dirent.h>
.sp
.BI "int readdir(unsigned int " fd ", struct dirent *" dirp ","
.BI " unsigned int " count );
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next parent reply other threads:[~2008-09-24 14:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200809161427.36373.dgollub@suse.de>
[not found] ` <1222260480.5395.17.camel@subratamodak.linux.ibm.com>
[not found] ` <1222260480.5395.17.camel-NRFfyExJdYpgXGGE5LP+UZlqa2bBAFbm0E9HWUfgJXw@public.gmane.org>
2008-09-24 14:05 ` Daniel Gollub [this message]
[not found] ` <200809241605.24925.dgollub-l3A5Bk7waGM@public.gmane.org>
2008-09-25 8:08 ` [LTP] ltp getdents syscalls testcases and 2.6.27-rcX Garrett Cooper
[not found] ` <364299f40809250108x714a5ba7ob31fb89b0d7c195c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-09-25 9:17 ` Daniel Gollub
[not found] ` <200809251117.30959.dgollub-l3A5Bk7waGM@public.gmane.org>
2008-09-28 0:57 ` Garrett Cooper
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=200809241605.24925.dgollub@suse.de \
--to=dgollub-l3a5bk7wagm@public.gmane.org \
--cc=bunk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ltp-list-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
--cc=yanegomi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/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