r919 - in linux-kernel-headers/branches/lkh-branch-2.6.12/debian: . patches
Author: gotom
Date: 2005-06-03 01:44:36 +0000 (Fri, 03 Jun 2005)
New Revision: 919
Added:
linux-kernel-headers/branches/lkh-branch-2.6.12/debian/patches/ioctl-typecheck.patch
Modified:
linux-kernel-headers/branches/lkh-branch-2.6.12/debian/changelog
Log:
- debian/patches/ioctl-typecheck.patch: Add to make impotent _IOC_TYPECHECK
checking macro for userland, to fix incompatible ioctl number in switch
case statement with g++ 3.4 and later. Proposed patch by Jeremy
Nimmer <jwnimmer@alum.mit.edu>. (Closes: #302478)
- debian/testsuite/ioctl.cc: Add ioctl userland breakage with g++ 3.4/4.0.
Patched by Jeremy Nimmer <jwnimmer@alum.mit.edu>.
Modified: linux-kernel-headers/branches/lkh-branch-2.6.12/debian/changelog
===================================================================
--- linux-kernel-headers/branches/lkh-branch-2.6.12/debian/changelog 2005-06-03 00:42:49 UTC (rev 918)
+++ linux-kernel-headers/branches/lkh-branch-2.6.12/debian/changelog 2005-06-03 01:44:36 UTC (rev 919)
@@ -8,11 +8,18 @@
friendly for asm-parisc/unistd.h. It's already fixed in the latest
cvs.parisc-linux.org. (Closes: #301073)
+ - debian/patches/ioctl-typecheck.patch: Add to make impotent _IOC_TYPECHECK
+ checking macro for userland, to fix incompatible ioctl number in switch
+ case statement with g++ 3.4 and later. Proposed patch by Jeremy
+ Nimmer <jwnimmer@alum.mit.edu>. (Closes: #302478)
+ - debian/testsuite/ioctl.cc: Add ioctl userland breakage with g++ 3.4/4.0.
+ Patched by Jeremy Nimmer <jwnimmer@alum.mit.edu>.
+
- The previous release closed some bugs:
- include/asm-mips/reg.h was included. (Closes: #266115)
- linux/llc.h __LLC_SOCK_SIZE__ value was fixed. (Closes: #271355)
- - Bastian Blank <waldi@debian.org>
+ - Bastian Blank <waldi@debian.org>:
- debian/rules: Add powerpc64 support. (Closes: #268078)
- debian/generate-asm.sh: Likewise.
Added: linux-kernel-headers/branches/lkh-branch-2.6.12/debian/patches/ioctl-typecheck.patch
===================================================================
--- linux-kernel-headers/branches/lkh-branch-2.6.12/debian/patches/ioctl-typecheck.patch 2005-06-03 00:42:49 UTC (rev 918)
+++ linux-kernel-headers/branches/lkh-branch-2.6.12/debian/patches/ioctl-typecheck.patch 2005-06-03 01:44:36 UTC (rev 919)
@@ -0,0 +1,133 @@
+--- include/asm-cris/ioctl.h~ 2005-05-25 12:31:20.000000000 +0900
++++ include/asm-cris/ioctl.h 2005-06-03 10:31:42.183033355 +0900
+@@ -53,12 +53,16 @@
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
++#ifdef __KERNEL__
+ /* provoke compile error for invalid uses of size argument */
+ extern int __invalid_size_argument_for_IOC;
+ #define _IOC_TYPECHECK(t) \
+ ((sizeof(t) == sizeof(t[1]) && \
+ sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+ sizeof(t) : __invalid_size_argument_for_IOC)
++#else
++#define _IOC_TYPECHECK(t) (sizeof(t))
++#endif
+
+ /* used to create numbers */
+ #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
+--- include/asm-i386/ioctl.h~ 2005-05-25 12:31:20.000000000 +0900
++++ include/asm-i386/ioctl.h 2005-06-03 10:32:02.445331679 +0900
+@@ -52,12 +52,16 @@
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
++#ifdef __KERNEL__
+ /* provoke compile error for invalid uses of size argument */
+ extern unsigned int __invalid_size_argument_for_IOC;
+ #define _IOC_TYPECHECK(t) \
+ ((sizeof(t) == sizeof(t[1]) && \
+ sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+ sizeof(t) : __invalid_size_argument_for_IOC)
++#else
++#define _IOC_TYPECHECK(t) (sizeof(t))
++#endif
+
+ /* used to create numbers */
+ #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
+--- include/asm-mips/ioctl.h~ 2005-05-25 12:31:20.000000000 +0900
++++ include/asm-mips/ioctl.h 2005-06-03 10:32:25.846211467 +0900
+@@ -65,12 +65,16 @@
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
++#ifdef __KERNEL__
+ /* provoke compile error for invalid uses of size argument */
+ extern unsigned int __invalid_size_argument_for_IOC;
+ #define _IOC_TYPECHECK(t) \
+ ((sizeof(t) == sizeof(t[1]) && \
+ sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+ sizeof(t) : __invalid_size_argument_for_IOC)
++#else
++#define _IOC_TYPECHECK(t) (sizeof(t))
++#endif
+
+ /* used to create numbers */
+ #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
+--- include/asm-parisc/ioctl.h~ 2005-05-25 12:31:20.000000000 +0900
++++ include/asm-parisc/ioctl.h 2005-06-03 10:32:57.800950606 +0900
+@@ -60,12 +60,16 @@
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
++#ifdef __KERNEL__
+ /* provoke compile error for invalid uses of size argument */
+ extern unsigned int __invalid_size_argument_for_IOC;
+ #define _IOC_TYPECHECK(t) \
+ ((sizeof(t) == sizeof(t[1]) && \
+ sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+ sizeof(t) : __invalid_size_argument_for_IOC)
++#else
++#define _IOC_TYPECHECK(t) (sizeof(t))
++#endif
+
+ /* used to create numbers */
+ #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
+--- include/asm-ppc/ioctl.h~ 2005-05-25 12:31:20.000000000 +0900
++++ include/asm-ppc/ioctl.h 2005-06-03 10:33:19.391071705 +0900
+@@ -37,12 +37,16 @@
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
++#ifdef __KERNEL__
+ /* provoke compile error for invalid uses of size argument */
+ extern unsigned int __invalid_size_argument_for_IOC;
+ #define _IOC_TYPECHECK(t) \
+ ((sizeof(t) == sizeof(t[1]) && \
+ sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+ sizeof(t) : __invalid_size_argument_for_IOC)
++#else
++#define _IOC_TYPECHECK(t) (sizeof(t))
++#endif
+
+ /* used to create numbers */
+ #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
+--- include/asm-ppc64/ioctl.h~ 2005-05-25 12:31:20.000000000 +0900
++++ include/asm-ppc64/ioctl.h 2005-06-03 10:33:36.177833268 +0900
+@@ -42,12 +42,16 @@
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
++#ifdef __KERNEL__
+ /* provoke compile error for invalid uses of size argument */
+ extern unsigned int __invalid_size_argument_for_IOC;
+ #define _IOC_TYPECHECK(t) \
+ ((sizeof(t) == sizeof(t[1]) && \
+ sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+ sizeof(t) : __invalid_size_argument_for_IOC)
++#else
++#define _IOC_TYPECHECK(t) (sizeof(t))
++#endif
+
+ /* used to create numbers */
+ #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
+--- include/asm-s390/ioctl.h~ 2005-05-25 12:31:20.000000000 +0900
++++ include/asm-s390/ioctl.h 2005-06-03 10:33:55.849210144 +0900
+@@ -55,12 +55,16 @@
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
++#ifdef __KERNEL__
+ /* provoke compile error for invalid uses of size argument */
+ extern unsigned long __invalid_size_argument_for_IOC;
+ #define _IOC_TYPECHECK(t) \
+ ((sizeof(t) == sizeof(t[1]) && \
+ sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+ sizeof(t) : __invalid_size_argument_for_IOC)
++#else
++#define _IOC_TYPECHECK(t) (sizeof(t))
++#endif
+
+ /* used to create numbers */
+ #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
Reply to: