Re: The Linux C library 5.4.44 is released.

H.J. Lu (hjl@lucon.org)
Sat, 14 Feb 1998 16:51:44 -0800 (PST)


>
> Hello:
>
> H.J. Lu wrote:
>
> > -----BEGIN PGP SIGNED MESSAGE-----
> >
> > The Linux C library 5.4.44 is a bug-fixing release for libc 5.4.38.
> > There are no new features in this release.
> >
> > Changes from libc 5.4.38:
> >
> > 1. Fix some stdio bugs. Pine should work fine now.
> > 2. Fix a glob bug.
> > 3. Fix a recursive bug in exit.
> > 4. Fix an overflow bug in malloc.
> >
>
> I have a problem with libc-5.4.44. The new libc don't compile under linux
> version 2.1.85. When the module sysdeps/linux/__fpathconf.c is compiled, the
> compiler aborts. __fpathconf includes the file <linux/nfs_fs.h>. This file,
> includes <sunrpc/sched.h> . This file defines a struct named rpc_task and this
> struct defines a pointer to structure rpc_wait_queue, who is defined below.
>
> I don't find a solution, except delete the include nfs_fs and define
> NFS_SUPER_MAGIC in __fpathconf (messy method).
>
> Can you help me??? :-)
>
> Best Regards
> Jose Luis
> sicemad@ran.es
>
> P.D.: Excuse me by my bad english...
>
>

This is the patch I am using to help the user programs include
the kernel header files.

-- 
H.J. Lu (hjl@gnu.org)
---
Index: include/linux/nfs_fs.h
===================================================================
RCS file: /home/work/cvs/linux/linux/include/linux/nfs_fs.h,v
retrieving revision 1.1.1.7
diff -u -r1.1.1.7 nfs_fs.h
--- nfs_fs.h	1998/02/02 00:45:05	1.1.1.7
+++ nfs_fs.h	1998/02/08 00:45:53
@@ -9,6 +9,7 @@
 #ifndef _LINUX_NFS_FS_H
 #define _LINUX_NFS_FS_H
 
+#ifdef __KERNEL__
 #include <linux/signal.h>
 #include <linux/sched.h>
 #include <linux/in.h>
@@ -16,6 +17,7 @@
 #include <linux/sunrpc/sched.h>
 #include <linux/nfs.h>
 #include <linux/nfs_mount.h>
+#endif
 
 /*
  * Enable debugging support for nfs client.
Index: include/linux/quota.h
===================================================================
RCS file: /home/work/cvs/linux/linux/include/linux/quota.h,v
retrieving revision 1.1.1.2
retrieving revision 1.3
diff -u -r1.1.1.2 -r1.3
--- quota.h	1997/11/07 03:53:52	1.1.1.2
+++ quota.h	1997/11/07 04:20:57	1.3
@@ -39,7 +39,11 @@
 #ifndef _LINUX_QUOTA_
 #define _LINUX_QUOTA_
 
+#ifdef __KERNEL__
 #include <linux/errno.h>
+#else
+#include <asm/types.h>
+#endif
 
 /*
  * Convert diskblocks to blocks and the other way around.
Index: include/linux/nfsd/const.h
===================================================================
RCS file: /home/work/cvs/linux/linux/include/linux/nfsd/const.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 const.h
--- const.h	1997/04/20 00:24:23	1.1.1.1
+++ const.h	1998/02/08 00:48:53
@@ -10,10 +10,14 @@
 #define __NFSCONST_H__
 
 #include <linux/limits.h>
+#ifdef __KERNEL__
 #include <linux/types.h>
 #include <linux/unistd.h>
 #include <linux/dirent.h>
 #include <linux/fs.h>
+#else
+#include <linux/nfs_fs.h>
+#endif
 #include <linux/nfs.h>
 
 /*
Index: include/linux/nfsd/export.h
===================================================================
RCS file: /home/work/cvs/linux/linux/include/linux/nfsd/export.h,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 export.h
--- export.h	1997/08/22 23:23:08	1.1.1.2
+++ export.h	1998/02/08 00:48:53
@@ -10,11 +10,6 @@
 #ifndef NFSD_EXPORT_H
 #define NFSD_EXPORT_H
 
-#include <linux/types.h>
-#include <linux/socket.h>
-#include <linux/in.h>
-#include <linux/fs.h>
-
 /*
  * Important limits for the exports stuff.
  */
@@ -39,6 +34,11 @@
 
 
 #ifdef __KERNEL__
+
+#include <linux/types.h>
+#include <linux/socket.h>
+#include <linux/in.h>
+#include <linux/fs.h>
 
 /* The following are hashtable sizes and must be powers of 2 */
 #define NFSCLNT_EXPMAX		16
Index: include/linux/nfsd/nfsfh.h
===================================================================
RCS file: /home/work/cvs/linux/linux/include/linux/nfsd/nfsfh.h,v
retrieving revision 1.1.1.7
diff -u -r1.1.1.7 nfsfh.h
--- nfsfh.h	1998/02/02 00:46:19	1.1.1.7
+++ nfsfh.h	1998/02/08 00:48:53
@@ -14,11 +14,17 @@
 #ifndef NFSD_FH_H
 #define NFSD_FH_H
 
+#ifdef __KERNEL__
 #include <linux/types.h>
 #include <linux/string.h>
 #include <linux/fs.h>
 #include <linux/nfsd/const.h>
 #include <linux/nfsd/debug.h>
+#else
+#include <asm/posix_types.h>
+#include <asm/types.h>
+#include <linux/nfs.h>
+#endif
 
 /*
  * This is the new "dentry style" Linux NFSv2 file handle.
@@ -28,11 +34,11 @@
  */
 struct nfs_fhbase {
 	struct dentry *		fb_dentry;	/* dentry cookie */
-	ino_t			fb_ino;		/* our inode number */
-	ino_t			fb_dirino;	/* dir inode number */
-	dev_t			fb_dev;		/* our device */
-	dev_t			fb_xdev;
-	ino_t			fb_xino;
+	__kernel_ino_t		fb_ino;		/* our inode number */
+	__kernel_ino_t		fb_dirino;	/* dir inode number */
+	__kernel_dev_t		fb_dev;		/* our device */
+	__kernel_dev_t		fb_xdev;
+	__kernel_ino_t		fb_xino;
 };
 
 #define NFS_FH_PADDING		(NFS_FHSIZE - sizeof(struct nfs_fhbase))
Index: include/linux/nfsd/syscall.h
===================================================================
RCS file: /home/work/cvs/linux/linux/include/linux/nfsd/syscall.h,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 syscall.h
--- syscall.h	1997/08/22 23:23:09	1.1.1.2
+++ syscall.h	1998/02/08 00:48:53
@@ -9,13 +9,15 @@
 #ifndef NFSD_SYSCALL_H
 #define NFSD_SYSCALL_H
 
+#ifdef __KERNEL__
 #include <linux/config.h>
 #include <linux/types.h>
 #include <linux/socket.h>
+#include <linux/nfsd/auth.h>
+#endif
 #include <linux/nfsd/const.h>
 #include <linux/nfsd/export.h>
 #include <linux/nfsd/nfsfh.h>
-#include <linux/nfsd/auth.h>
 
 /*
  * Version of the syscall interface
@@ -54,29 +56,29 @@
 struct nfsctl_export {
 	char			ex_client[NFSCLNT_IDMAX+1];
 	char			ex_path[NFS_MAXPATHLEN+1];
-	dev_t			ex_dev;
-	ino_t			ex_ino;
+	__kernel_dev_t		ex_dev;
+	__kernel_ino_t		ex_ino;
 	int			ex_flags;
-	uid_t			ex_anon_uid;
-	gid_t			ex_anon_gid;
+	__kernel_uid_t		ex_anon_uid;
+	__kernel_gid_t		ex_anon_gid;
 };
 
 /* UGIDUPDATE */
 struct nfsctl_uidmap {
 	char *			ug_ident;
-	uid_t			ug_uidbase;
+	__kernel_uid_t		ug_uidbase;
 	int			ug_uidlen;
-	uid_t *			ug_udimap;
-	uid_t			ug_gidbase;
+	__kernel_uid_t *	ug_udimap;
+	__kernel_uid_t		ug_gidbase;
 	int			ug_gidlen;
-	gid_t *			ug_gdimap;
+	__kernel_gid_t *	ug_gdimap;
 };
 
 /* GETFH */
 struct nfsctl_fhparm {
 	struct sockaddr		gf_addr;
-	dev_t			gf_dev;
-	ino_t			gf_ino;
+	__kernel_dev_t		gf_dev;
+	__kernel_ino_t		gf_ino;
 	int			gf_version;
 };
 

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu