[packages/uClibc] - rel 12; fix build with kernel headers >= 3.10

arekm arekm at pld-linux.org
Wed Oct 16 21:34:29 CEST 2013


commit 2567ba7ae7cf71dd6e5b870f84a3f3a95be0c946
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed Oct 16 21:34:26 2013 +0200

    - rel 12; fix build with kernel headers >= 3.10

 uClibc-kernel-types.patch | 365 ++++++++++++++++++++++++++++++++++++++++++++++
 uClibc.spec               |   4 +-
 2 files changed, 368 insertions(+), 1 deletion(-)
---
diff --git a/uClibc.spec b/uClibc.spec
index e1f8a41..78af49c 100644
--- a/uClibc.spec
+++ b/uClibc.spec
@@ -12,7 +12,7 @@ Summary:	C library optimized for size
 Summary(pl.UTF-8):	Biblioteka C zoptymalizowana na rozmiar
 Name:		uClibc
 Version:	0.9.33.2
-Release:	11
+Release:	12
 Epoch:		4
 License:	LGPL v2.1
 Group:		Libraries
@@ -23,6 +23,7 @@ Patch1:		%{name}-toolchain-wrapper.patch
 Patch2:		%{name}-targetcpu.patch
 Patch3:		%{name}-debug.patch
 Patch4:		%{name}-stdio-unhide.patch
+Patch5:		%{name}-kernel-types.patch
 URL:		http://uclibc.org/
 BuildRequires:	binutils >= 2.16
 BuildRequires:	cpp
@@ -93,6 +94,7 @@ Biblioteki statyczne uClibc.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 # ARCH is already determined by uname -m
 %ifarch %{ix86}
diff --git a/uClibc-kernel-types.patch b/uClibc-kernel-types.patch
new file mode 100644
index 0000000..b194aed
--- /dev/null
+++ b/uClibc-kernel-types.patch
@@ -0,0 +1,365 @@
+commit 6a76edddaa62ff06f178143b582167734cb55c18
+Author: Chris Packham <chris.packham at alliedtelesis.co.nz>
+Date:   Mon Oct 1 18:12:54 2012 +1300
+
+    libc/sysdeps: add __kernel_long and __kernel_ulong
+    
+    Linux 3.4 added __kernel_long_t and __kernel_ulong_t and various
+    exported header files were updated to use these new types. Add the
+    definitions for __kernel_long_t and __kernel_ulong_t to the relevant
+    kernel_types.h headers.
+    
+    This change was automated with the following scriptlet
+    
+      git grep --name-only 'typedef.*__kernel_old_dev_t' \
+        | xargs sed -i '/typedef.*__kernel_old_dev_t/ a\
+      typedef long\t\t__kernel_long_t;\
+      typedef unsigned long\t__kernel_ulong_t;'
+    
+    Whitespace in arm, avr32, hppa, sparc was then manually fixed up.
+    
+    Signed-off-by: Chris Packham <chris.packham at alliedtelesis.co.nz>
+    --
+    Here's a cleaned up patch which should get the whitespace right. I'm a
+    bit iffy about the sparc changes they make sense to me but it's not a
+    platform I have access to.
+    
+    I can break this up per arch or per maintainer if requested.
+    
+     libc/sysdeps/linux/alpha/bits/kernel_types.h      |    2 ++
+     libc/sysdeps/linux/arm/bits/kernel_types.h        |    2 ++
+     libc/sysdeps/linux/avr32/bits/kernel_types.h      |    2 ++
+     libc/sysdeps/linux/bfin/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/c6x/bits/kernel_types.h        |    2 ++
+     libc/sysdeps/linux/cris/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/e1/bits/kernel_types.h         |    2 ++
+     libc/sysdeps/linux/h8300/bits/kernel_types.h      |    2 ++
+     libc/sysdeps/linux/hppa/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/i386/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/ia64/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/m68k/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/microblaze/bits/kernel_types.h |    2 ++
+     libc/sysdeps/linux/mips/bits/kernel_types.h       |    4 ++++
+     libc/sysdeps/linux/nios2/bits/kernel_types.h      |    2 ++
+     libc/sysdeps/linux/powerpc/bits/kernel_types.h    |    4 ++++
+     libc/sysdeps/linux/sh/bits/kernel_types.h         |    2 ++
+     libc/sysdeps/linux/sh64/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/sparc/bits/kernel_types.h      |    4 ++++
+     libc/sysdeps/linux/v850/bits/kernel_types.h       |    2 ++
+     libc/sysdeps/linux/x86_64/bits/kernel_types.h     |    2 ++
+     libc/sysdeps/linux/xtensa/bits/kernel_types.h     |    2 ++
+     22 files changed, 50 insertions(+)
+    Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
+
+diff --git a/libc/sysdeps/linux/alpha/bits/kernel_types.h b/libc/sysdeps/linux/alpha/bits/kernel_types.h
+index d5574c9..cd59b9d 100644
+--- a/libc/sysdeps/linux/alpha/bits/kernel_types.h
++++ b/libc/sysdeps/linux/alpha/bits/kernel_types.h
+@@ -33,6 +33,8 @@ typedef __kernel_gid_t __kernel_old_gid_t;
+ typedef __kernel_uid_t __kernel_uid32_t;
+ typedef __kernel_gid_t __kernel_gid32_t;
+ typedef __kernel_dev_t __kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ typedef struct {
+ 	int val[2];
+diff --git a/libc/sysdeps/linux/arm/bits/kernel_types.h b/libc/sysdeps/linux/arm/bits/kernel_types.h
+index 766a306..6b36f32 100644
+--- a/libc/sysdeps/linux/arm/bits/kernel_types.h
++++ b/libc/sysdeps/linux/arm/bits/kernel_types.h
+@@ -32,6 +32,8 @@ typedef unsigned short		__kernel_old_uid_t;
+ typedef unsigned short		__kernel_old_gid_t;
+ typedef long long		__kernel_loff_t;
+ typedef __kernel_dev_t		__kernel_old_dev_t;
++typedef long			__kernel_long_t;
++typedef unsigned long		__kernel_ulong_t;
+ 
+ typedef struct {
+ #ifdef __USE_ALL
+diff --git a/libc/sysdeps/linux/avr32/bits/kernel_types.h b/libc/sysdeps/linux/avr32/bits/kernel_types.h
+index f7d8b52..c551d57 100644
+--- a/libc/sysdeps/linux/avr32/bits/kernel_types.h
++++ b/libc/sysdeps/linux/avr32/bits/kernel_types.h
+@@ -39,6 +39,8 @@ typedef unsigned int		__kernel_gid32_t;
+ typedef unsigned short		__kernel_old_uid_t;
+ typedef unsigned short		__kernel_old_gid_t;
+ typedef unsigned short		__kernel_old_dev_t;
++typedef long			__kernel_long_t;
++typedef unsigned long		__kernel_ulong_t;
+ 
+ #ifdef __GNUC__
+ typedef long long		__kernel_loff_t;
+diff --git a/libc/sysdeps/linux/bfin/bits/kernel_types.h b/libc/sysdeps/linux/bfin/bits/kernel_types.h
+index d69a875..9fec595 100644
+--- a/libc/sysdeps/linux/bfin/bits/kernel_types.h
++++ b/libc/sysdeps/linux/bfin/bits/kernel_types.h
+@@ -32,6 +32,8 @@ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef long long	__kernel_loff_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ typedef struct {
+ #ifdef __USE_ALL
+diff --git a/libc/sysdeps/linux/c6x/bits/kernel_types.h b/libc/sysdeps/linux/c6x/bits/kernel_types.h
+index 7557309..2c363a8 100644
+--- a/libc/sysdeps/linux/c6x/bits/kernel_types.h
++++ b/libc/sysdeps/linux/c6x/bits/kernel_types.h
+@@ -22,6 +22,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned int	__kernel_old_uid_t;
+ typedef unsigned int	__kernel_old_gid_t;
+ typedef unsigned int	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef unsigned int	__kernel_size_t;
+ typedef int		__kernel_ssize_t;
+ typedef int		__kernel_ptrdiff_t;
+diff --git a/libc/sysdeps/linux/cris/bits/kernel_types.h b/libc/sysdeps/linux/cris/bits/kernel_types.h
+index f122c7f..5d31f7b 100644
+--- a/libc/sysdeps/linux/cris/bits/kernel_types.h
++++ b/libc/sysdeps/linux/cris/bits/kernel_types.h
+@@ -28,6 +28,8 @@ typedef unsigned int    __kernel_gid32_t;
+ typedef unsigned short  __kernel_old_uid_t;
+ typedef unsigned short  __kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ #ifdef __GNUC__
+ typedef long long	__kernel_loff_t;
+diff --git a/libc/sysdeps/linux/e1/bits/kernel_types.h b/libc/sysdeps/linux/e1/bits/kernel_types.h
+index 8017d85..f55a129 100644
+--- a/libc/sysdeps/linux/e1/bits/kernel_types.h
++++ b/libc/sysdeps/linux/e1/bits/kernel_types.h
+@@ -31,6 +31,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long	__kernel_loff_t;
+ 
+ /*
+diff --git a/libc/sysdeps/linux/h8300/bits/kernel_types.h b/libc/sysdeps/linux/h8300/bits/kernel_types.h
+index 0570675..4cfd1bf 100644
+--- a/libc/sysdeps/linux/h8300/bits/kernel_types.h
++++ b/libc/sysdeps/linux/h8300/bits/kernel_types.h
+@@ -32,6 +32,8 @@ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef long long	__kernel_loff_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ typedef struct {
+ #ifdef __USE_ALL
+diff --git a/libc/sysdeps/linux/hppa/bits/kernel_types.h b/libc/sysdeps/linux/hppa/bits/kernel_types.h
+index 4441f9b..6b2e794 100644
+--- a/libc/sysdeps/linux/hppa/bits/kernel_types.h
++++ b/libc/sysdeps/linux/hppa/bits/kernel_types.h
+@@ -45,6 +45,8 @@ typedef long long		__kernel_off64_t;
+ typedef unsigned long long	__kernel_ino64_t;
+ 
+ typedef unsigned int		__kernel_old_dev_t;
++typedef long			__kernel_long_t;
++typedef unsigned long		__kernel_ulong_t;
+ 
+ typedef struct {
+ #ifdef __USE_ALL
+diff --git a/libc/sysdeps/linux/i386/bits/kernel_types.h b/libc/sysdeps/linux/i386/bits/kernel_types.h
+index 9c07c72..59044b8 100644
+--- a/libc/sysdeps/linux/i386/bits/kernel_types.h
++++ b/libc/sysdeps/linux/i386/bits/kernel_types.h
+@@ -40,6 +40,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long	__kernel_loff_t;
+ 
+ typedef struct {
+diff --git a/libc/sysdeps/linux/ia64/bits/kernel_types.h b/libc/sysdeps/linux/ia64/bits/kernel_types.h
+index c8ef86d..e31dc65 100644
+--- a/libc/sysdeps/linux/ia64/bits/kernel_types.h
++++ b/libc/sysdeps/linux/ia64/bits/kernel_types.h
+@@ -52,5 +52,7 @@ typedef __kernel_gid_t __kernel_gid32_t;
+ 
+ typedef unsigned int	__kernel_dev_t;
+ typedef unsigned int	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ #endif /* _ASM_IA64_POSIX_TYPES_H */
+diff --git a/libc/sysdeps/linux/m68k/bits/kernel_types.h b/libc/sysdeps/linux/m68k/bits/kernel_types.h
+index 0a77a8f..176b968 100644
+--- a/libc/sysdeps/linux/m68k/bits/kernel_types.h
++++ b/libc/sysdeps/linux/m68k/bits/kernel_types.h
+@@ -32,6 +32,8 @@ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef long long	__kernel_loff_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ typedef struct {
+ #ifdef __USE_ALL
+diff --git a/libc/sysdeps/linux/microblaze/bits/kernel_types.h b/libc/sysdeps/linux/microblaze/bits/kernel_types.h
+index 2a70575..a9f736b 100644
+--- a/libc/sysdeps/linux/microblaze/bits/kernel_types.h
++++ b/libc/sysdeps/linux/microblaze/bits/kernel_types.h
+@@ -44,6 +44,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned int	__kernel_old_uid_t;
+ typedef unsigned int	__kernel_old_gid_t;
+ typedef unsigned int	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ #ifdef __GNUC__
+ typedef long long	__kernel_loff_t;
+diff --git a/libc/sysdeps/linux/mips/bits/kernel_types.h b/libc/sysdeps/linux/mips/bits/kernel_types.h
+index 9fc3b96..97faeac 100644
+--- a/libc/sysdeps/linux/mips/bits/kernel_types.h
++++ b/libc/sysdeps/linux/mips/bits/kernel_types.h
+@@ -32,6 +32,8 @@ typedef int		__kernel_gid32_t;
+ typedef __kernel_uid_t	__kernel_old_uid_t;
+ typedef __kernel_gid_t	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long      __kernel_loff_t;
+ #else
+ typedef unsigned int	__kernel_dev_t;
+@@ -68,6 +70,8 @@ typedef int		__kernel_gid32_t;
+ typedef __kernel_uid_t	__kernel_old_uid_t;
+ typedef __kernel_gid_t	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long      __kernel_loff_t;
+ #endif
+ 
+diff --git a/libc/sysdeps/linux/nios2/bits/kernel_types.h b/libc/sysdeps/linux/nios2/bits/kernel_types.h
+index 8b86d79..3c030e7 100644
+--- a/libc/sysdeps/linux/nios2/bits/kernel_types.h
++++ b/libc/sysdeps/linux/nios2/bits/kernel_types.h
+@@ -31,6 +31,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef unsigned short	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long	__kernel_loff_t;
+ 
+ typedef struct {
+diff --git a/libc/sysdeps/linux/powerpc/bits/kernel_types.h b/libc/sysdeps/linux/powerpc/bits/kernel_types.h
+index 3f3b933..1167de2 100644
+--- a/libc/sysdeps/linux/powerpc/bits/kernel_types.h
++++ b/libc/sysdeps/linux/powerpc/bits/kernel_types.h
+@@ -36,6 +36,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned int	__kernel_old_uid_t;
+ typedef unsigned int	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ #else
+ typedef unsigned int	__kernel_dev_t;
+ typedef unsigned int	__kernel_ino_t;
+@@ -61,6 +63,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned int	__kernel_old_uid_t;
+ typedef unsigned int	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long	__kernel_loff_t;
+ #endif
+ 
+diff --git a/libc/sysdeps/linux/sh/bits/kernel_types.h b/libc/sysdeps/linux/sh/bits/kernel_types.h
+index f96e9fa..ac97261 100644
+--- a/libc/sysdeps/linux/sh/bits/kernel_types.h
++++ b/libc/sysdeps/linux/sh/bits/kernel_types.h
+@@ -32,6 +32,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long	__kernel_loff_t;
+ 
+ typedef struct {
+diff --git a/libc/sysdeps/linux/sh64/bits/kernel_types.h b/libc/sysdeps/linux/sh64/bits/kernel_types.h
+index 671cc83..8cc6c61 100644
+--- a/libc/sysdeps/linux/sh64/bits/kernel_types.h
++++ b/libc/sysdeps/linux/sh64/bits/kernel_types.h
+@@ -43,6 +43,8 @@ typedef unsigned int    __kernel_gid32_t;
+ typedef unsigned short  __kernel_old_uid_t;
+ typedef unsigned short  __kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long       __kernel_loff_t;
+ 
+ typedef struct {
+diff --git a/libc/sysdeps/linux/sparc/bits/kernel_types.h b/libc/sysdeps/linux/sparc/bits/kernel_types.h
+index 0cc4bc2..a10e075 100644
+--- a/libc/sysdeps/linux/sparc/bits/kernel_types.h
++++ b/libc/sysdeps/linux/sparc/bits/kernel_types.h
+@@ -32,6 +32,8 @@ typedef unsigned short	       __kernel_gid16_t;
+ typedef __kernel_uid_t 	       __kernel_old_uid_t;
+ typedef __kernel_gid_t         __kernel_old_gid_t;
+ typedef __kernel_dev_t         __kernel_old_dev_t;
++typedef long                   __kernel_long_t;
++typedef unsigned long          __kernel_ulong_t;
+ typedef __kernel_uid_t	       __kernel_uid32_t;
+ typedef __kernel_gid_t	       __kernel_gid32_t;
+ typedef int		       __kernel_suseconds_t;
+@@ -62,6 +64,8 @@ typedef unsigned int	       __kernel_gid32_t;
+ typedef unsigned short	       __kernel_old_uid_t;
+ typedef unsigned short	       __kernel_old_gid_t;
+ typedef __kernel_dev_t         __kernel_old_dev_t;
++typedef long                   __kernel_long_t;
++typedef unsigned long          __kernel_ulong_t;
+ typedef long long              __kernel_loff_t;
+ #endif
+ 
+diff --git a/libc/sysdeps/linux/v850/bits/kernel_types.h b/libc/sysdeps/linux/v850/bits/kernel_types.h
+index 3e851ab..780aa8a 100644
+--- a/libc/sysdeps/linux/v850/bits/kernel_types.h
++++ b/libc/sysdeps/linux/v850/bits/kernel_types.h
+@@ -41,6 +41,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ 
+ typedef struct {
+ #ifdef __USE_ALL
+diff --git a/libc/sysdeps/linux/x86_64/bits/kernel_types.h b/libc/sysdeps/linux/x86_64/bits/kernel_types.h
+index de800d7..0cae08c 100644
+--- a/libc/sysdeps/linux/x86_64/bits/kernel_types.h
++++ b/libc/sysdeps/linux/x86_64/bits/kernel_types.h
+@@ -40,6 +40,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef __kernel_dev_t	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long	__kernel_loff_t;
+ 
+ typedef struct {
+diff --git a/libc/sysdeps/linux/xtensa/bits/kernel_types.h b/libc/sysdeps/linux/xtensa/bits/kernel_types.h
+index 44f1075..ed38f2e 100644
+--- a/libc/sysdeps/linux/xtensa/bits/kernel_types.h
++++ b/libc/sysdeps/linux/xtensa/bits/kernel_types.h
+@@ -33,6 +33,8 @@ typedef unsigned int	__kernel_gid32_t;
+ typedef unsigned short	__kernel_old_uid_t;
+ typedef unsigned short	__kernel_old_gid_t;
+ typedef unsigned short	__kernel_old_dev_t;
++typedef long		__kernel_long_t;
++typedef unsigned long	__kernel_ulong_t;
+ typedef long long	__kernel_loff_t;
+ 
+ /* Beginning in 2.6 kernels, which is the first version that includes the
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/uClibc.git/commitdiff/2567ba7ae7cf71dd6e5b870f84a3f3a95be0c946



More information about the pld-cvs-commit mailing list