[Glibc-bsd-commits] r4871 - in trunk/kfreebsd-kernel-headers: debian debian/patches test

Robert Millan rmh at alioth.debian.org
Tue Aug 6 11:41:44 UTC 2013


Author: rmh
Date: 2013-08-06 11:41:44 +0000 (Tue, 06 Aug 2013)
New Revision: 4871

Added:
   trunk/kfreebsd-kernel-headers/test/ino_t.c
Modified:
   trunk/kfreebsd-kernel-headers/debian/changelog
   trunk/kfreebsd-kernel-headers/debian/patches/type_collision.diff
   trunk/kfreebsd-kernel-headers/debian/rules
   trunk/kfreebsd-kernel-headers/test/Makefile
Log:
Prevent Glibc ino_t from messing with kernel definition of ino_t (from now on known as '__kernel_ino_t').

Modified: trunk/kfreebsd-kernel-headers/debian/changelog
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/changelog	2013-08-06 10:43:37 UTC (rev 4870)
+++ trunk/kfreebsd-kernel-headers/debian/changelog	2013-08-06 11:41:44 UTC (rev 4871)
@@ -6,6 +6,8 @@
     macros.
   * Remove headers with no user-serviceable parts: <sys/eventvar.h>,
     <sys/pipe.h> and <sys/taskqueue.h>.
+  * Prevent Glibc ino_t from messing with kernel definition of ino_t
+    (from now on known as '__kernel_ino_t').
 
  -- Robert Millan <rmh at debian.org>  Sun, 04 Aug 2013 18:07:05 +0200
 

Modified: trunk/kfreebsd-kernel-headers/debian/patches/type_collision.diff
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/patches/type_collision.diff	2013-08-06 10:43:37 UTC (rev 4870)
+++ trunk/kfreebsd-kernel-headers/debian/patches/type_collision.diff	2013-08-06 11:41:44 UTC (rev 4871)
@@ -27,7 +27,7 @@
  typedef	__uint32_t	__uintptr_t;
 --- a/sys/sys/_types.h
 +++ b/sys/sys/_types.h
-@@ -40,11 +40,20 @@
+@@ -40,10 +40,19 @@
  typedef	__int32_t	__clockid_t;	/* clock_gettime()... */
  typedef	__uint64_t	__cap_rights_t;	/* capability rights */
  typedef	__uint32_t	__fflags_t;	/* file flags */
@@ -40,15 +40,13 @@
  typedef	__uint32_t	__gid_t;
 +#if defined(__GLIBC__) && !defined(_KERNEL)
 +/* This divergence is probably accidental, but it can't be fixed now. */
-+typedef	__uint32_t	__id_t;
++typedef        __uint32_t      __id_t;
 +#else
  typedef	__int64_t	__id_t;		/* can hold a gid_t, pid_t, or uid_t */
--typedef	__uint32_t	__ino_t;	/* inode number */
 +#endif
-+typedef	__uint32_t	__kernel_ino_t;	/* inode number */
+ typedef	__uint32_t	__kernel_ino_t;	/* inode number */
  typedef	long		__key_t;	/* IPC key (for Sys V IPC) */
  typedef	__int32_t	__lwpid_t;	/* Thread ID (a.k.a. LWP) */
- typedef	__uint16_t	__mode_t;	/* permissions */
 @@ -59,8 +68,12 @@
  typedef	__uint8_t	__sa_family_t;
  typedef	__uint32_t	__socklen_t;

Modified: trunk/kfreebsd-kernel-headers/debian/rules
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/rules	2013-08-06 10:43:37 UTC (rev 4870)
+++ trunk/kfreebsd-kernel-headers/debian/rules	2013-08-06 11:41:44 UTC (rev 4871)
@@ -81,6 +81,8 @@
 		-e 's/#\s*include\s\+<sys\/_termios\.h>\s*/#include <sys\/termios.h>/g' \
 		\
 		-e 's/__size_t/__this_is_a_temporary_kludge__size_t/g' $(shell ## see rev 184135 in GCC SVN ##) \
+		\
+		-e 's/\(\s\|^\|(\)\(__\)\?ino_t\(\s\|)\|;\)/\1__kernel_ino_t\3/g' \
 	; done) ; \
 	echo "#include <sys/kern/param.h>" > misc/osreldate.h
 

Modified: trunk/kfreebsd-kernel-headers/test/Makefile
===================================================================
--- trunk/kfreebsd-kernel-headers/test/Makefile	2013-08-06 10:43:37 UTC (rev 4870)
+++ trunk/kfreebsd-kernel-headers/test/Makefile	2013-08-06 11:41:44 UTC (rev 4871)
@@ -11,6 +11,7 @@
 	cpufunc.o \
 	devicestat.o \
 	in_pcb.o \
+	ino_t.o \
 	ppp.o \
 	sctp.o \
 	soundcard.o \

Added: trunk/kfreebsd-kernel-headers/test/ino_t.c
===================================================================
--- trunk/kfreebsd-kernel-headers/test/ino_t.c	                        (rev 0)
+++ trunk/kfreebsd-kernel-headers/test/ino_t.c	2013-08-06 11:41:44 UTC (rev 4871)
@@ -0,0 +1,20 @@
+#define _FILE_OFFSET_BITS 64
+
+#include <sys/kern/time.h>
+#include <sys/kern/types.h>
+
+#include <ufs/ufs/dinode.h>
+#include <ufs/ffs/fs.h>
+
+#include <ufs/ufs/quota.h>
+#include <ufs/ufs/inode.h>
+
+#define ASSERT_SIZE(N, STRUCT, MEMBER, SIZE) \
+	static char __assert_ ## N [(sizeof (((struct STRUCT *) NULL)->MEMBER) == SIZE) ? 0 : -1]
+
+ASSERT_SIZE(1, fs, fs_snapinum[0], 4);
+ASSERT_SIZE(2, jrefrec, jr_ino, 4);
+ASSERT_SIZE(3, jrefrec, jr_parent, 4);
+ASSERT_SIZE(4, jmvrec, jm_ino, 4);
+ASSERT_SIZE(5, jmvrec, jm_parent, 4);
+ASSERT_SIZE(6, inode, i_number, 4);




More information about the Glibc-bsd-commits mailing list