[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