patches/uClibc/0.9.28.3/130-ctype.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Nov 04 19:22:29 2011 +0100 (2011-11-04)
changeset 2735 f09ed6dd71a3
parent 746 b150d6f590fc
permissions -rw-r--r--
kernel/linux: fix packed attribute in exported headers

UBI headers (and maybe others as well) are broken because the 'packed'
attribute is not sanitised when the headers are exported to userspace.

Apply the fix from upstream:
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f210735fe2f17a6225432ee3d1239bcf23a8659c

(Also, buildroot does the same, BTW)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1
     1
diff -urN uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h
yann@1
     2
--- uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h   Fri Jun  3 13:30:25 2005
yann@1
     3
+++ uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h   Fri Jun  3 13:30:39 2005
yann@1
     4
@@ -34,11 +34,11 @@
yann@1
     5
yann@1
     6
 /* glibc uses the equivalent of - typedef __int32_t __ctype_touplow_t; */
yann@1
     7
yann@1
     8
-typedef __uint16_t __ctype_mask_t;
yann@1
     9
+typedef __uint32_t __ctype_mask_t;
yann@1
    10
yann@1
    11
 #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
yann@1
    12
yann@1
    13
-typedef __int16_t __ctype_touplow_t;
yann@1
    14
+typedef __int32_t __ctype_touplow_t;
yann@1
    15
 #define __UCLIBC_CTYPE_B_TBL_OFFSET       128
yann@1
    16
 #define __UCLIBC_CTYPE_TO_TBL_OFFSET      128
yann@1
    17