summaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc/patches
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-01-21 11:45:32 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-01-21 11:45:32 +0000
commit4f14cc665777120194de73302510657cefc75959 (patch)
tree91b0bb7e56d88f6d86b87769af96bed3537e82fa /toolchain/uClibc/patches
parent572f8170e9b4970087739d0bd40258afeb4dda70 (diff)
[toolchain] add support for uClibc v0.9.30 (closes: #4271), thanks to Luigi Mantellini & Puchu!
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14130 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/uClibc/patches')
-rw-r--r--toolchain/uClibc/patches/0.9.30/110-compat_macros.patch51
-rw-r--r--toolchain/uClibc/patches/0.9.30/120-adjtimex.patch14
-rw-r--r--toolchain/uClibc/patches/0.9.30/130-sockets_throw.patch12
-rw-r--r--toolchain/uClibc/patches/0.9.30/180-fix_kernel_types_with_recent_kernel.patch34
4 files changed, 111 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches/0.9.30/110-compat_macros.patch b/toolchain/uClibc/patches/0.9.30/110-compat_macros.patch
new file mode 100644
index 000000000..7659e465c
--- /dev/null
+++ b/toolchain/uClibc/patches/0.9.30/110-compat_macros.patch
@@ -0,0 +1,51 @@
+--- ./include/string.h.orig 2008-06-08 22:38:53.000000000 +0200
++++ ./include/string.h 2009-01-02 16:09:03.000000000 +0100
+@@ -355,18 +355,40 @@
+ /* Find the last occurrence of C in S (same as strrchr). */
+ extern char *rindex (__const char *__s, int __c)
+ __THROW __attribute_pure__ __nonnull ((1));
+-# else
+-# ifdef __UCLIBC_SUSV3_LEGACY_MACROS__
++# elif defined(__UCLIBC_SUSV3_LEGACY_MACROS__) && !defined(_STRINGS_H)
+ /* bcopy/bzero/bcmp/index/rindex are marked LEGACY in SuSv3.
+ * They are replaced as proposed by SuSv3. Don't sync this part
+ * with glibc and keep it in sync with strings.h. */
+
+-# define bcopy(src,dest,n) (memmove((dest), (src), (n)), (void) 0)
+-# define bzero(s,n) (memset((s), '\0', (n)), (void) 0)
+-# define bcmp(s1,s2,n) memcmp((s1), (s2), (size_t)(n))
+-# define index(s,c) strchr((s), (c))
+-# define rindex(s,c) strrchr((s), (c))
+-# endif
++/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */
++static __inline__ void bcopy (__const void *__src, void *__dest, size_t __n)
++{
++ memmove(__dest, __src, __n);
++}
++
++/* Set N bytes of S to 0. */
++static __inline__ void bzero (void *__s, size_t __n)
++{
++ memset(__s, 0, __n);
++}
++
++/* Compare N bytes of S1 and S2 (same as memcmp). */
++static __inline__ int bcmp (__const void *__s1, __const void *__s2, size_t __n)
++{
++ return memcmp(__s1, __s2, __n);
++}
++
++/* Find the first occurrence of C in S (same as strchr). */
++static __inline__ char *index (__const char *__s, int __c)
++{
++ return strchr(__s, __c);
++}
++
++/* Find the last occurrence of C in S (same as strrchr). */
++static __inline__ char *rindex (__const char *__s, int __c)
++{
++ return strrchr(__s, __c);
++}
+ # endif
+
+ /* Return the position of the first bit set in I, or 0 if none are set.
diff --git a/toolchain/uClibc/patches/0.9.30/120-adjtimex.patch b/toolchain/uClibc/patches/0.9.30/120-adjtimex.patch
new file mode 100644
index 000000000..5127701df
--- /dev/null
+++ b/toolchain/uClibc/patches/0.9.30/120-adjtimex.patch
@@ -0,0 +1,14 @@
+Index: uClibc-0.9.29/include/sys/timex.h
+===================================================================
+--- uClibc-0.9.29.orig/include/sys/timex.h 2007-12-30 17:34:21.983513096 +0100
++++ uClibc-0.9.29/include/sys/timex.h 2007-12-30 17:34:32.180094169 +0100
+@@ -116,7 +116,8 @@
+
+ __BEGIN_DECLS
+
+-extern int __adjtimex (struct timex *__ntx) __THROW;
++#undef __adjtimex
++#define __adjtimex adjtimex
+ extern int adjtimex (struct timex *__ntx) __THROW;
+
+ extern int ntp_gettime (struct ntptimeval *__ntv) __THROW;
diff --git a/toolchain/uClibc/patches/0.9.30/130-sockets_throw.patch b/toolchain/uClibc/patches/0.9.30/130-sockets_throw.patch
new file mode 100644
index 000000000..4072804e4
--- /dev/null
+++ b/toolchain/uClibc/patches/0.9.30/130-sockets_throw.patch
@@ -0,0 +1,12 @@
+diff -urN uClibc-0.9.29/libc/sysdeps/linux/mips/bits/socket.h uClibc-0.9.29.new/libc/sysdeps/linux/mips/bits/socket.h
+--- uClibc-0.9.29/libc/sysdeps/linux/mips/bits/socket.h 2006-12-06 22:46:56.000000000 +0100
++++ uClibc-0.9.29.new/libc/sysdeps/linux/mips/bits/socket.h 2007-12-31 14:25:29.000000000 +0100
+@@ -269,7 +269,7 @@
+ #define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
+
+ extern struct cmsghdr * __NTH (__cmsg_nxthdr (struct msghdr *__mhdr,
+- struct cmsghdr *__cmsg)) __THROW;
++ struct cmsghdr *__cmsg));
+ #ifdef __USE_EXTERN_INLINES
+ # ifndef _EXTERN_INLINE
+ # define _EXTERN_INLINE extern __inline
diff --git a/toolchain/uClibc/patches/0.9.30/180-fix_kernel_types_with_recent_kernel.patch b/toolchain/uClibc/patches/0.9.30/180-fix_kernel_types_with_recent_kernel.patch
new file mode 100644
index 000000000..2c68583be
--- /dev/null
+++ b/toolchain/uClibc/patches/0.9.30/180-fix_kernel_types_with_recent_kernel.patch
@@ -0,0 +1,34 @@
+From df180f43dd9fc651ac760e7fe4a4dcf9e6dd42f1 Mon Sep 17 00:00:00 2001
+From: kraj <kraj@69ca8d6d-28ef-0310-b511-8ec308f3f277>
+Date: Tue, 23 Dec 2008 09:04:50 +0000
+Subject: [PATCH] These defines needs to be considered after recent linux kernel combined i386 and x86_64 into x86
+
+git-svn-id: svn+ssh://uclibc.org/svn/trunk/uClibc@24515 69ca8d6d-28ef-0310-b511-8ec308f3f277
+---
+ libc/sysdeps/linux/i386/bits/kernel_types.h | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libc/sysdeps/linux/i386/bits/kernel_types.h b/libc/sysdeps/linux/i386/bits/kernel_types.h
+index 6609dd3..8641a48 100644
+--- a/libc/sysdeps/linux/i386/bits/kernel_types.h
++++ b/libc/sysdeps/linux/i386/bits/kernel_types.h
+@@ -7,10 +7,14 @@
+
+ /* a hack for compiling a 32 bit user space with 64 bit
+ * kernel on x86_64 */
+-#if !defined(__ARCH_I386_POSIX_TYPES_H) && !defined(_ASM_X86_64_POSIX_TYPES_H)
++#if !defined(__ARCH_I386_POSIX_TYPES_H) && \
++ !defined(_ASM_X86_64_POSIX_TYPES_H) && \
++ !defined(_ASM_X86_POSIX_TYPES_32_H) && \
++ !defined(_ASM_X86_POSIX_TYPES_64_H)
+ #define _ASM_X86_64_POSIX_TYPES_H
+ #define __ARCH_I386_POSIX_TYPES_H
+-
++#define _ASM_X86_POSIX_TYPES_32_H
++#define _ASM_X86_POSIX_TYPES_64_H
+ typedef unsigned short __kernel_dev_t;
+ typedef unsigned long __kernel_ino_t;
+ typedef unsigned short __kernel_mode_t;
+--
+1.5.6.5
+