summaryrefslogtreecommitdiffstats
path: root/meta/packages/uclibc
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-09-02 20:43:11 +0000
committerRichard Purdie <richard@openedhand.com>2007-09-02 20:43:11 +0000
commitc51edd3fdb40fa7b99a9060828d1b597664800a1 (patch)
tree511f7c9900c02e574ce9b9043dad4c461af3b00a /meta/packages/uclibc
parentf1e0aeba07d38b94b0a52081902b253ab8cd28bd (diff)
downloadpoky-c51edd3fdb40fa7b99a9060828d1b597664800a1.tar.gz
uclibc: Sync with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2659 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/uclibc')
-rw-r--r--meta/packages/uclibc/files/armeb-kernel-stat.h.patch125
-rw-r--r--meta/packages/uclibc/files/errno_values.h.patch21
-rw-r--r--meta/packages/uclibc/files/kernel-key-t-ipc.h.patch27
-rw-r--r--meta/packages/uclibc/files/nokernelheadercheck.patch24
-rw-r--r--meta/packages/uclibc/files/termios.h.patch22
-rw-r--r--meta/packages/uclibc/files/uClibc.distro3
-rw-r--r--meta/packages/uclibc/files/uClibc.machine8
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/collie/uClibc.machine2
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/ixp4xxbe/uClibc.machine143
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/poky/uClibc.distro146
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/uClibc.distro (renamed from meta/packages/uclibc/uclibc-0.9.29/angstrom/uClibc.distro)0
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv4t69
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv5te70
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.iwmmxt70
-rw-r--r--meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.strongarm70
-rw-r--r--meta/packages/uclibc/uclibc.inc11
-rw-r--r--meta/packages/uclibc/uclibc_0.9.29.bb8
17 files changed, 525 insertions, 294 deletions
diff --git a/meta/packages/uclibc/files/armeb-kernel-stat.h.patch b/meta/packages/uclibc/files/armeb-kernel-stat.h.patch
new file mode 100644
index 0000000000..0440718eec
--- /dev/null
+++ b/meta/packages/uclibc/files/armeb-kernel-stat.h.patch
@@ -0,0 +1,125 @@
1# The 2.6 asm/stat.h for ARM has some rather unusual transmogrifications
2# for big-endian running. This patch adds ARM specific code in xstatconv.c
3# which deals with the 2.4->2.6 ABI change.
4--- uClibc-0.9.27/libc/sysdeps/linux/common/xstatconv.c 2005-01-11 23:59:21.000000000 -0800
5+++ uClibc-0.9.27/libc/sysdeps/linux/common/xstatconv.c 2005-06-05 11:03:56.742587966 -0700
6@@ -18,7 +18,14 @@
7 02111-1307 USA.
8
9 Modified for uClibc by Erik Andersen <andersen@codepoet.org>
10+ Further modified for ARMBE by John Bowler <jbowler@acm.org>
11 */
12+/* This is a copy of common/xstatconv.c with a fixup for the ABI
13+ * (structure layout) change in ARM Linux 2.6 - this shifts the
14+ * st_dev and st_rdev information from the start of the 8 byte
15+ * space to the end on big-endian ARM (only). The code is unchanged
16+ * on little endian.
17+ */
18
19 #define _GNU_SOURCE
20 #define _LARGEFILE64_SOURCE
21@@ -32,6 +39,84 @@
22 #include <sys/stat.h>
23 #include "xstatconv.h"
24
25+/* Only for ARMEB and LFS. */
26+#if defined(__ARMEB__) && defined(__UCLIBC_HAS_LFS__)
27+/* stat64 (renamed) from 2.6.11.11. What happened here is that after
28+ * Linux 2.4 the 2.4 unsigned short st_rdev and st_dev fields were
29+ * lengthened to unsigned long long - causing the inclusion of at least
30+ * some of the 0 padding bytes which followed them. On little endian
31+ * this is fine because 2.4 did zero the pad bytes (I think) and the
32+ * position of the data did not change. On big endian the change
33+ * shifted the data to the end of the field. Someone noticed for the
34+ * struct stat, and the armeb (big endian) case preserved the
35+ * unsigned short (yuck), but no so for stat64 (maybe this was deliberate,
36+ * but there is no evidence in the code of this.) Consequently a
37+ * fixup is necessary for the stat64 case. The fixup here is to
38+ * use the new structure when the change is detected. See below.
39+ */
40+struct __kernel_stat64_armeb {
41+ /* This definition changes the layout on big-endian from that
42+ * used in 2.4.31 - ABI change! Likewise for st_rdev.
43+ */
44+ unsigned long long st_dev;
45+ unsigned char __pad0[4];
46+ unsigned long __st_ino;
47+ unsigned int st_mode;
48+ unsigned int st_nlink;
49+ unsigned long st_uid;
50+ unsigned long st_gid;
51+ unsigned long long st_rdev;
52+ unsigned char __pad3[4];
53+ long long st_size;
54+ unsigned long st_blksize;
55+ unsigned long __pad4;
56+ unsigned long st_blocks;
57+ unsigned long st_atime;
58+ unsigned long st_atime_nsec;
59+ unsigned long st_mtime;
60+ unsigned long st_mtime_nsec;
61+ unsigned long st_ctime;
62+ unsigned long st_ctime_nsec;
63+ unsigned long long st_ino;
64+};
65+
66+/* This fixup only works so long as the old struct stat64 is no
67+ * smaller than the new one - the caller of xstatconv uses the
68+ * *old* struct, but the kernel writes the new one. CASSERT
69+ * detects this at compile time.
70+ */
71+#define CASSERT(c) do switch (0) { case 0:; case (c):; } while (0)
72+
73+void __xstat64_conv_new(struct __kernel_stat64_armeb *kbuf, struct stat64 *buf)
74+{
75+ CASSERT(sizeof *kbuf <= sizeof (struct kernel_stat64));
76+
77+ /* Convert from new kernel version of `struct stat64'. */
78+ buf->st_dev = kbuf->st_dev;
79+ buf->st_ino = kbuf->st_ino;
80+#ifdef _HAVE_STAT64___ST_INO
81+ buf->__st_ino = kbuf->__st_ino;
82+#endif
83+ buf->st_mode = kbuf->st_mode;
84+ buf->st_nlink = kbuf->st_nlink;
85+ buf->st_uid = kbuf->st_uid;
86+ buf->st_gid = kbuf->st_gid;
87+ buf->st_rdev = kbuf->st_rdev;
88+ buf->st_size = kbuf->st_size;
89+ buf->st_blksize = kbuf->st_blksize;
90+ buf->st_blocks = kbuf->st_blocks;
91+ buf->st_atime = kbuf->st_atime;
92+ buf->st_mtime = kbuf->st_mtime;
93+ buf->st_ctime = kbuf->st_ctime;
94+}
95+#define _MAY_HAVE_NEW_STAT64 1
96+#else
97+#define _MAY_HAVE_NEW_STAT64 0
98+#endif
99+
100+/* The following is taken verbatim from xstatconv.c apart from
101+ * the addition of the _MAY_HAVE_NEW_STAT64 code.
102+ */
103 void __xstat_conv(struct kernel_stat *kbuf, struct stat *buf)
104 {
105 /* Convert to current kernel version of `struct stat'. */
106@@ -53,6 +138,19 @@
107 #if defined __UCLIBC_HAS_LFS__
108 void __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf)
109 {
110+# if _MAY_HAVE_NEW_STAT64
111+ /* This relies on any device (0,0) not being mountable - i.e.
112+ * it fails on Linux 2.4 if dev(0,0) is a mountable block file
113+ * system and itself contains it's own device. That doesn't
114+ * happen on Linux 2.4 so far as I can see, but even if it
115+ * does the API only fails (even then) if 2.4 didn't set all
116+ * of the pad bytes to 0 (and it does set them to zero.)
117+ */
118+ if (kbuf->st_dev == 0 && kbuf->st_rdev == 0) {
119+ __xstat64_conv_new((struct __kernel_stat64_armeb*)kbuf, buf);
120+ return;
121+ }
122+# endif
123 /* Convert to current kernel version of `struct stat64'. */
124 buf->st_dev = kbuf->st_dev;
125 buf->st_ino = kbuf->st_ino;
diff --git a/meta/packages/uclibc/files/errno_values.h.patch b/meta/packages/uclibc/files/errno_values.h.patch
new file mode 100644
index 0000000000..a1e39c181b
--- /dev/null
+++ b/meta/packages/uclibc/files/errno_values.h.patch
@@ -0,0 +1,21 @@
1Index: uClibc-0.9.29/libc/sysdeps/linux/common/bits/errno_values.h
2===================================================================
3--- uClibc-0.9.29/libc/sysdeps/linux/common/bits/errno_values.h 2002-08-23 20:48:19.000000000 +0200
4+++ uClibc-0.9.29/libc/sysdeps/linux/common/bits/errno_values.h 2007-07-01 22:11:53.000000000 +0200
5@@ -134,4 +134,16 @@
6 #define ENOMEDIUM 123 /* No medium found */
7 #define EMEDIUMTYPE 124 /* Wrong medium type */
8
9+/* the following errornumbers are only in 2.6 */
10+
11+#define ECANCELED 125 /* Operation Canceled */
12+#define ENOKEY 126 /* Required key not available */
13+#define EKEYEXPIRED 127 /* Key has expired */
14+#define EKEYREVOKED 128 /* Key has been revoked */
15+#define EKEYREJECTED 129 /* Key was rejected by service */
16+
17+/* for robust mutexes */
18+#define EOWNERDEAD 130 /* Owner died */
19+#define ENOTRECOVERABLE 131 /* State not recoverable */
20+
21 #endif /* _BITS_ERRNO_VALUES_H */
diff --git a/meta/packages/uclibc/files/kernel-key-t-ipc.h.patch b/meta/packages/uclibc/files/kernel-key-t-ipc.h.patch
new file mode 100644
index 0000000000..4cc4530470
--- /dev/null
+++ b/meta/packages/uclibc/files/kernel-key-t-ipc.h.patch
@@ -0,0 +1,27 @@
1# include/linux/posix_types.h defines __kernel_key_t as int, this file
2# contains an identical definition. This results in a compiler error
3# if both files are included. The ipc.h file, however, also includes
4# bits/types.h, which typedefs __key_t to (int), therefore it must
5# be safe to use __key_t in place of __kernel_key_t (given that C
6# regards equivalent numeric typedefs as identical.)
7--- uClibc-0.9.27/libc/sysdeps/linux/common/bits/ipc.h.orig 2005-05-07 13:36:04.448332211 -0700
8+++ uClibc-0.9.27/libc/sysdeps/linux/common/bits/ipc.h 2005-05-07 13:37:00.493885708 -0700
9@@ -35,9 +35,6 @@
10 # define IPC_INFO 3 /* See ipcs. */
11 #endif
12
13-/* Type of a SYSV IPC key. */
14-typedef int __kernel_key_t;
15-
16 /* Special key values. */
17 #define IPC_PRIVATE ((__key_t) 0) /* Private key. */
18
19@@ -45,7 +42,7 @@
20 /* Data structure used to pass permission information to IPC operations. */
21 struct ipc_perm
22 {
23- __kernel_key_t __key;
24+ __key_t __key;
25 __kernel_uid_t uid;
26 __kernel_gid_t gid;
27 __kernel_uid_t cuid;
diff --git a/meta/packages/uclibc/files/nokernelheadercheck.patch b/meta/packages/uclibc/files/nokernelheadercheck.patch
new file mode 100644
index 0000000000..9f09fb2ac9
--- /dev/null
+++ b/meta/packages/uclibc/files/nokernelheadercheck.patch
@@ -0,0 +1,24 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- uClibc/Makefile~nokernelheadercheck
7+++ uClibc/Makefile
8@@ -121,11 +121,11 @@
9 @./extra/config/conf -o extra/Configs/Config.in
10
11 headers: include/bits/uClibc_config.h
12-ifeq ($(strip $(ARCH_HAS_MMU)),y)
13- @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH)
14-else
15- @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH) -n
16-endif
17+#ifeq ($(strip $(ARCH_HAS_MMU)),y)
18+# @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH)
19+#else
20+# @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH) -n
21+#endif
22 @cd include/bits; \
23 set -e; \
24 for i in `ls ../../libc/sysdeps/linux/common/bits/*.h` ; do \
diff --git a/meta/packages/uclibc/files/termios.h.patch b/meta/packages/uclibc/files/termios.h.patch
new file mode 100644
index 0000000000..f7200ba393
--- /dev/null
+++ b/meta/packages/uclibc/files/termios.h.patch
@@ -0,0 +1,22 @@
1Index: uClibc-0.9.29/libc/sysdeps/linux/common/bits/termios.h
2===================================================================
3--- uClibc-0.9.29.orig/libc/sysdeps/linux/common/bits/termios.h 2006-02-13 09:41:37.000000000 +0100
4+++ uClibc-0.9.29/libc/sysdeps/linux/common/bits/termios.h 2007-07-03 00:41:27.000000000 +0200
5@@ -156,7 +156,6 @@
6 #endif
7 #define B57600 0010001
8 #define B115200 0010002
9-#if 0 /* limited on uClibc, keep in sync w/ cfsetspeed.c */
10 #define B230400 0010003
11 #define B460800 0010004
12 #define B500000 0010005
13@@ -171,9 +170,6 @@
14 #define B3500000 0010016
15 #define B4000000 0010017
16 #define __MAX_BAUD B4000000
17-#else
18-#define __MAX_BAUD B115200
19-#endif
20 #ifdef __USE_MISC
21 # define CIBAUD 002003600000 /* input baud rate (not used) */
22 # define CMSPAR 010000000000 /* mark or space (stick) parity */
diff --git a/meta/packages/uclibc/files/uClibc.distro b/meta/packages/uclibc/files/uClibc.distro
new file mode 100644
index 0000000000..d87b891b41
--- /dev/null
+++ b/meta/packages/uclibc/files/uClibc.distro
@@ -0,0 +1,3 @@
1# Default per-distro config
2# DO NOT CHANGE THIS
3# Create a new file ${DISTRO}/uClibc.distro
diff --git a/meta/packages/uclibc/files/uClibc.machine b/meta/packages/uclibc/files/uClibc.machine
new file mode 100644
index 0000000000..66346b90f3
--- /dev/null
+++ b/meta/packages/uclibc/files/uClibc.machine
@@ -0,0 +1,8 @@
1# Default per-machine config
2# DO NOT CHANGE THIS
3# Create a new file ${MACHINE}/uClibc.distro
4# Use this file for information which is specific to the machine,
5# as opposed to the architecture (e.g. nslu2 as opposed to armeb or arm)
6# KISS: this file gets includes last, nothing in here can be
7# overridden. Restrict things in here to things which are absolutely
8# and certainly true for this machine.
diff --git a/meta/packages/uclibc/uclibc-0.9.29/collie/uClibc.machine b/meta/packages/uclibc/uclibc-0.9.29/collie/uClibc.machine
index 33f36bf179..6e89444a64 100644
--- a/meta/packages/uclibc/uclibc-0.9.29/collie/uClibc.machine
+++ b/meta/packages/uclibc/uclibc-0.9.29/collie/uClibc.machine
@@ -33,7 +33,7 @@ TARGET_ARCH="arm"
33FORCE_OPTIONS_FOR_ARCH=y 33FORCE_OPTIONS_FOR_ARCH=y
34CONFIG_ARM_OABI=y 34CONFIG_ARM_OABI=y
35# CONFIG_ARM_EABI is not set 35# CONFIG_ARM_EABI is not set
36USE_BX=y 36# USE_BX is not set
37# CONFIG_GENERIC_ARM is not set 37# CONFIG_GENERIC_ARM is not set
38# CONFIG_ARM610 is not set 38# CONFIG_ARM610 is not set
39# CONFIG_ARM710 is not set 39# CONFIG_ARM710 is not set
diff --git a/meta/packages/uclibc/uclibc-0.9.29/ixp4xxbe/uClibc.machine b/meta/packages/uclibc/uclibc-0.9.29/ixp4xxbe/uClibc.machine
index eec16b1b33..2d9f63e531 100644
--- a/meta/packages/uclibc/uclibc-0.9.29/ixp4xxbe/uClibc.machine
+++ b/meta/packages/uclibc/uclibc-0.9.29/ixp4xxbe/uClibc.machine
@@ -68,146 +68,3 @@ DO_C99_MATH=y
68KERNEL_HEADERS="/usr/include" 68KERNEL_HEADERS="/usr/include"
69HAVE_DOT_CONFIG=y 69HAVE_DOT_CONFIG=y
70 70
71#
72# General Library Settings
73#
74# HAVE_NO_PIC is not set
75# DOPIC is not set
76# HAVE_NO_SHARED is not set
77# ARCH_HAS_NO_LDSO is not set
78HAVE_SHARED=y
79# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
80LDSO_LDD_SUPPORT=y
81LDSO_CACHE_SUPPORT=y
82# LDSO_PRELOAD_FILE_SUPPORT is not set
83LDSO_BASE_FILENAME="ld.so"
84# UCLIBC_STATIC_LDCONFIG is not set
85LDSO_RUNPATH=y
86UCLIBC_CTOR_DTOR=y
87# HAS_NO_THREADS is not set
88UCLIBC_HAS_THREADS=y
89PTHREADS_DEBUG_SUPPORT=y
90LINUXTHREADS_OLD=y
91UCLIBC_HAS_LFS=y
92# MALLOC is not set
93# MALLOC_SIMPLE is not set
94MALLOC_STANDARD=y
95MALLOC_GLIBC_COMPAT=y
96UCLIBC_DYNAMIC_ATEXIT=y
97COMPAT_ATEXIT=y
98# UCLIBC_SUSV3_LEGACY is not set
99# UCLIBC_SUSV3_LEGACY_MACROS is not set
100UCLIBC_HAS_SHADOW=y
101# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set
102UCLIBC_HAS___PROGNAME=y
103UNIX98PTY_ONLY=y
104ASSUME_DEVPTS=y
105UCLIBC_HAS_TM_EXTENSIONS=y
106UCLIBC_HAS_TZ_CACHING=y
107UCLIBC_HAS_TZ_FILE=y
108UCLIBC_HAS_TZ_FILE_READ_MANY=y
109UCLIBC_TZ_FILE_PATH="/etc/TZ"
110
111#
112# Advanced Library Settings
113#
114UCLIBC_PWD_BUFFER_SIZE=256
115UCLIBC_GRP_BUFFER_SIZE=256
116
117#
118# Networking Support
119#
120UCLIBC_HAS_IPV6=y
121UCLIBC_HAS_RPC=y
122UCLIBC_HAS_FULL_RPC=y
123# UCLIBC_HAS_REENTRANT_RPC is not set
124# UCLIBC_USE_NETLINK is not set
125# UCLIBC_HAS_BSD_RES_CLOSE is not set
126
127#
128# String and Stdio Support
129#
130UCLIBC_HAS_STRING_GENERIC_OPT=y
131UCLIBC_HAS_STRING_ARCH_OPT=y
132UCLIBC_HAS_CTYPE_TABLES=y
133UCLIBC_HAS_CTYPE_SIGNED=y
134# UCLIBC_HAS_CTYPE_UNSAFE is not set
135UCLIBC_HAS_CTYPE_CHECKED=y
136# UCLIBC_HAS_CTYPE_ENFORCED is not set
137UCLIBC_HAS_WCHAR=y
138# UCLIBC_HAS_LOCALE is not set
139UCLIBC_HAS_HEXADECIMAL_FLOATS=y
140UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
141UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
142UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
143# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
144UCLIBC_HAS_STDIO_BUFSIZ_256=y
145# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
146# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
147# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
148# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
149# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
150UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
151# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
152# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
153# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
154UCLIBC_HAS_STDIO_GETC_MACRO=y
155UCLIBC_HAS_STDIO_PUTC_MACRO=y
156UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
157# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
158UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
159UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
160UCLIBC_HAS_PRINTF_M_SPEC=y
161UCLIBC_HAS_ERRNO_MESSAGES=y
162# UCLIBC_HAS_SYS_ERRLIST is not set
163UCLIBC_HAS_SIGNUM_MESSAGES=y
164# UCLIBC_HAS_SYS_SIGLIST is not set
165UCLIBC_HAS_GNU_GETOPT=y
166UCLIBC_HAS_GNU_GETSUBOPT=y
167
168#
169# Big and Tall
170#
171UCLIBC_HAS_REGEX=y
172# UCLIBC_HAS_REGEX_OLD is not set
173UCLIBC_HAS_FNMATCH=y
174# UCLIBC_HAS_FNMATCH_OLD is not set
175UCLIBC_HAS_WORDEXP=y
176UCLIBC_HAS_FTW=y
177UCLIBC_HAS_GLOB=y
178# UCLIBC_HAS_GNU_GLOB is not set
179
180#
181# Library Installation Options
182#
183SHARED_LIB_LOADER_PREFIX="/lib"
184RUNTIME_PREFIX="/"
185DEVEL_PREFIX="//usr"
186
187#
188# Security options
189#
190# UCLIBC_BUILD_PIE is not set
191# UCLIBC_HAS_ARC4RANDOM is not set
192# HAVE_NO_SSP is not set
193# UCLIBC_HAS_SSP is not set
194UCLIBC_BUILD_RELRO=y
195UCLIBC_BUILD_NOW=y
196UCLIBC_BUILD_NOEXECSTACK=y
197
198#
199# uClibc development/debugging options
200#
201CROSS_COMPILER_PREFIX=""
202UCLIBC_EXTRA_CFLAGS=""
203# DODEBUG is not set
204# DODEBUG_PT is not set
205DOSTRIP=y
206# DOASSERTS is not set
207# SUPPORT_LD_DEBUG is not set
208# SUPPORT_LD_DEBUG_EARLY is not set
209# UCLIBC_MALLOC_DEBUGGING is not set
210WARNINGS="-Wall"
211# EXTRA_WARNINGS is not set
212# DOMULTI is not set
213# UCLIBC_MJN3_ONLY is not set
diff --git a/meta/packages/uclibc/uclibc-0.9.29/poky/uClibc.distro b/meta/packages/uclibc/uclibc-0.9.29/poky/uClibc.distro
deleted file mode 100644
index b326ff03b5..0000000000
--- a/meta/packages/uclibc/uclibc-0.9.29/poky/uClibc.distro
+++ /dev/null
@@ -1,146 +0,0 @@
1#
2# General Library Settings
3#
4# HAVE_NO_PIC is not set
5# DOPIC is not set
6# HAVE_NO_SHARED is not set
7# ARCH_HAS_NO_LDSO is not set
8HAVE_SHARED=y
9# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
10LDSO_LDD_SUPPORT=y
11LDSO_CACHE_SUPPORT=y
12# LDSO_PRELOAD_FILE_SUPPORT is not set
13LDSO_BASE_FILENAME="ld.so"
14# UCLIBC_STATIC_LDCONFIG is not set
15LDSO_RUNPATH=y
16UCLIBC_CTOR_DTOR=y
17# HAS_NO_THREADS is not set
18UCLIBC_HAS_THREADS=y
19PTHREADS_DEBUG_SUPPORT=y
20LINUXTHREADS_OLD=y
21UCLIBC_HAS_LFS=y
22# MALLOC is not set
23# MALLOC_SIMPLE is not set
24MALLOC_STANDARD=y
25MALLOC_GLIBC_COMPAT=y
26UCLIBC_DYNAMIC_ATEXIT=y
27COMPAT_ATEXIT=y
28UCLIBC_SUSV3_LEGACY=y
29UCLIBC_SUSV3_LEGACY_MACROS=y
30UCLIBC_HAS_SHADOW=y
31# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set
32UCLIBC_HAS___PROGNAME=y
33UNIX98PTY_ONLY=y
34ASSUME_DEVPTS=y
35UCLIBC_HAS_TM_EXTENSIONS=y
36UCLIBC_HAS_TZ_CACHING=y
37UCLIBC_HAS_TZ_FILE=y
38UCLIBC_HAS_TZ_FILE_READ_MANY=y
39UCLIBC_TZ_FILE_PATH="/etc/TZ"
40
41#
42# Advanced Library Settings
43#
44UCLIBC_PWD_BUFFER_SIZE=256
45UCLIBC_GRP_BUFFER_SIZE=256
46
47#
48# Networking Support
49#
50UCLIBC_HAS_IPV6=y
51UCLIBC_HAS_RPC=y
52UCLIBC_HAS_FULL_RPC=y
53# UCLIBC_HAS_REENTRANT_RPC is not set
54# UCLIBC_USE_NETLINK is not set
55# UCLIBC_HAS_BSD_RES_CLOSE is not set
56
57#
58# String and Stdio Support
59#
60UCLIBC_HAS_STRING_GENERIC_OPT=y
61UCLIBC_HAS_STRING_ARCH_OPT=y
62UCLIBC_HAS_CTYPE_TABLES=y
63UCLIBC_HAS_CTYPE_SIGNED=y
64# UCLIBC_HAS_CTYPE_UNSAFE is not set
65UCLIBC_HAS_CTYPE_CHECKED=y
66# UCLIBC_HAS_CTYPE_ENFORCED is not set
67UCLIBC_HAS_WCHAR=y
68# UCLIBC_HAS_LOCALE is not set
69UCLIBC_HAS_HEXADECIMAL_FLOATS=y
70UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
71UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
72UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
73# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
74UCLIBC_HAS_STDIO_BUFSIZ_256=y
75# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
76# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
77# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
78# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
79# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
80UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
81# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
82# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
83# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
84UCLIBC_HAS_STDIO_GETC_MACRO=y
85UCLIBC_HAS_STDIO_PUTC_MACRO=y
86UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
87# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
88UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
89UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
90UCLIBC_HAS_PRINTF_M_SPEC=y
91UCLIBC_HAS_ERRNO_MESSAGES=y
92# UCLIBC_HAS_SYS_ERRLIST is not set
93UCLIBC_HAS_SIGNUM_MESSAGES=y
94# UCLIBC_HAS_SYS_SIGLIST is not set
95UCLIBC_HAS_GNU_GETOPT=y
96UCLIBC_HAS_GNU_GETSUBOPT=y
97
98#
99# Big and Tall
100#
101UCLIBC_HAS_REGEX=y
102# UCLIBC_HAS_REGEX_OLD is not set
103UCLIBC_HAS_FNMATCH=y
104# UCLIBC_HAS_FNMATCH_OLD is not set
105UCLIBC_HAS_WORDEXP=y
106UCLIBC_HAS_FTW=y
107UCLIBC_HAS_GLOB=y
108# UCLIBC_HAS_GNU_GLOB is not set
109
110#
111# Library Installation Options
112#
113SHARED_LIB_LOADER_PREFIX="/lib"
114RUNTIME_PREFIX="/"
115DEVEL_PREFIX="//usr"
116
117#
118# Security options
119#
120# UCLIBC_BUILD_PIE is not set
121# UCLIBC_HAS_ARC4RANDOM is not set
122# HAVE_NO_SSP is not set
123# UCLIBC_HAS_SSP is not set
124UCLIBC_BUILD_RELRO=y
125UCLIBC_BUILD_NOW=y
126UCLIBC_BUILD_NOEXECSTACK=y
127
128#
129# uClibc development/debugging options
130#
131CROSS_COMPILER_PREFIX=""
132UCLIBC_EXTRA_CFLAGS=""
133# DODEBUG is not set
134# DODEBUG_PT is not set
135DOSTRIP=y
136# DOASSERTS is not set
137# SUPPORT_LD_DEBUG is not set
138# SUPPORT_LD_DEBUG_EARLY is not set
139# UCLIBC_MALLOC_DEBUGGING is not set
140WARNINGS="-Wall"
141# EXTRA_WARNINGS is not set
142# DOMULTI is not set
143# UCLIBC_MJN3_ONLY is not set
144
145# math stuff for perl
146DO_C99_MATH=y
diff --git a/meta/packages/uclibc/uclibc-0.9.29/angstrom/uClibc.distro b/meta/packages/uclibc/uclibc-0.9.29/uClibc.distro
index b326ff03b5..b326ff03b5 100644
--- a/meta/packages/uclibc/uclibc-0.9.29/angstrom/uClibc.distro
+++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.distro
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv4t b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv4t
new file mode 100644
index 0000000000..898b73a33b
--- /dev/null
+++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv4t
@@ -0,0 +1,69 @@
1#
2# Automatically generated make config: don't edit
3# Mon May 14 10:23:14 2007
4#
5# TARGET_alpha is not set
6TARGET_arm=y
7# TARGET_bfin is not set
8# TARGET_cris is not set
9# TARGET_e1 is not set
10# TARGET_frv is not set
11# TARGET_h8300 is not set
12# TARGET_hppa is not set
13# TARGET_i386 is not set
14# TARGET_i960 is not set
15# TARGET_ia64 is not set
16# TARGET_m68k is not set
17# TARGET_microblaze is not set
18# TARGET_mips is not set
19# TARGET_nios is not set
20# TARGET_nios2 is not set
21# TARGET_powerpc is not set
22# TARGET_sh is not set
23# TARGET_sh64 is not set
24# TARGET_sparc is not set
25# TARGET_v850 is not set
26# TARGET_vax is not set
27# TARGET_x86_64 is not set
28
29#
30# Target Architecture Features and Options
31#
32TARGET_ARCH="arm"
33FORCE_OPTIONS_FOR_ARCH=y
34# CONFIG_ARM_OABI is not set
35CONFIG_ARM_EABI=y
36USE_BX=y
37# CONFIG_GENERIC_ARM is not set
38# CONFIG_ARM610 is not set
39# CONFIG_ARM710 is not set
40# CONFIG_ARM7TDMI is not set
41# CONFIG_ARM720T is not set
42CONFIG_ARM920T=y
43# CONFIG_ARM922T is not set
44# CONFIG_ARM926T is not set
45# CONFIG_ARM10T is not set
46# CONFIG_ARM1136JF_S is not set
47# CONFIG_ARM1176JZ_S is not set
48# CONFIG_ARM1176JZF_S is not set
49# CONFIG_ARM_SA110 is not set
50# CONFIG_ARM_SA1100 is not set
51# CONFIG_ARM_XSCALE is not set
52# CONFIG_ARM_IWMMXT is not set
53TARGET_SUBARCH=""
54
55#
56# Using ELF file format
57#
58ARCH_ANY_ENDIAN=y
59ARCH_LITTLE_ENDIAN=y
60# ARCH_WANTS_BIG_ENDIAN is not set
61ARCH_WANTS_LITTLE_ENDIAN=y
62ARCH_HAS_MMU=y
63ARCH_USE_MMU=y
64UCLIBC_HAS_FLOATS=y
65# UCLIBC_HAS_FPU is not set
66UCLIBC_HAS_SOFT_FLOAT=y
67KERNEL_HEADERS="/usr/include"
68HAVE_DOT_CONFIG=y
69
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv5te b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv5te
new file mode 100644
index 0000000000..ec0385bc0f
--- /dev/null
+++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv5te
@@ -0,0 +1,70 @@
1#
2# Automatically generated make config: don't edit
3# Sun May 13 11:16:02 2007
4#
5# TARGET_alpha is not set
6TARGET_arm=y
7# TARGET_bfin is not set
8# TARGET_cris is not set
9# TARGET_e1 is not set
10# TARGET_frv is not set
11# TARGET_h8300 is not set
12# TARGET_hppa is not set
13# TARGET_i386 is not set
14# TARGET_i960 is not set
15# TARGET_ia64 is not set
16# TARGET_m68k is not set
17# TARGET_microblaze is not set
18# TARGET_mips is not set
19# TARGET_nios is not set
20# TARGET_nios2 is not set
21# TARGET_powerpc is not set
22# TARGET_sh is not set
23# TARGET_sh64 is not set
24# TARGET_sparc is not set
25# TARGET_v850 is not set
26# TARGET_vax is not set
27# TARGET_x86_64 is not set
28
29#
30# Target Architecture Features and Options
31#
32TARGET_ARCH="arm"
33FORCE_OPTIONS_FOR_ARCH=y
34# CONFIG_ARM_OABI is not set
35CONFIG_ARM_EABI=y
36USE_BX=y
37# CONFIG_GENERIC_ARM is not set
38# CONFIG_ARM610 is not set
39# CONFIG_ARM710 is not set
40# CONFIG_ARM7TDMI is not set
41# CONFIG_ARM720T is not set
42# CONFIG_ARM920T is not set
43# CONFIG_ARM922T is not set
44# CONFIG_ARM926T is not set
45# CONFIG_ARM10T is not set
46# CONFIG_ARM1136JF_S is not set
47# CONFIG_ARM1176JZ_S is not set
48# CONFIG_ARM1176JZF_S is not set
49# CONFIG_ARM_SA110 is not set
50# CONFIG_ARM_SA1100 is not set
51CONFIG_ARM_XSCALE=y
52# CONFIG_ARM_IWMMXT is not set
53TARGET_SUBARCH=""
54
55#
56# Using ELF file format
57#
58ARCH_ANY_ENDIAN=y
59ARCH_LITTLE_ENDIAN=y
60# ARCH_WANTS_BIG_ENDIAN is not set
61ARCH_WANTS_LITTLE_ENDIAN=y
62ARCH_HAS_MMU=y
63ARCH_USE_MMU=y
64UCLIBC_HAS_FLOATS=y
65# UCLIBC_HAS_FPU is not set
66UCLIBC_HAS_SOFT_FLOAT=y
67DO_C99_MATH=y
68KERNEL_HEADERS="/data/build/koen/OE/build/tmp/angstrom/cross/arm-angstrom-linux-uclibcgnueabi/include"
69HAVE_DOT_CONFIG=y
70
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.iwmmxt b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.iwmmxt
new file mode 100644
index 0000000000..e27931cf6b
--- /dev/null
+++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.iwmmxt
@@ -0,0 +1,70 @@
1#
2# Automatically generated make config: don't edit
3# Sat May 12 23:18:41 2007
4#
5# TARGET_alpha is not set
6TARGET_arm=y
7# TARGET_bfin is not set
8# TARGET_cris is not set
9# TARGET_e1 is not set
10# TARGET_frv is not set
11# TARGET_h8300 is not set
12# TARGET_hppa is not set
13# TARGET_i386 is not set
14# TARGET_i960 is not set
15# TARGET_ia64 is not set
16# TARGET_m68k is not set
17# TARGET_microblaze is not set
18# TARGET_mips is not set
19# TARGET_nios is not set
20# TARGET_nios2 is not set
21# TARGET_powerpc is not set
22# TARGET_sh is not set
23# TARGET_sh64 is not set
24# TARGET_sparc is not set
25# TARGET_v850 is not set
26# TARGET_vax is not set
27# TARGET_x86_64 is not set
28
29#
30# Target Architecture Features and Options
31#
32TARGET_ARCH="arm"
33FORCE_OPTIONS_FOR_ARCH=y
34# CONFIG_ARM_OABI is not set
35CONFIG_ARM_EABI=y
36USE_BX=y
37# CONFIG_GENERIC_ARM is not set
38# CONFIG_ARM610 is not set
39# CONFIG_ARM710 is not set
40# CONFIG_ARM7TDMI is not set
41# CONFIG_ARM720T is not set
42# CONFIG_ARM920T is not set
43# CONFIG_ARM922T is not set
44# CONFIG_ARM926T is not set
45# CONFIG_ARM10T is not set
46# CONFIG_ARM1136JF_S is not set
47# CONFIG_ARM1176JZ_S is not set
48# CONFIG_ARM1176JZF_S is not set
49# CONFIG_ARM_SA110 is not set
50# CONFIG_ARM_SA1100 is not set
51# CONFIG_ARM_XSCALE is not set
52CONFIG_ARM_IWMMXT=y
53TARGET_SUBARCH=""
54
55#
56# Using ELF file format
57#
58ARCH_ANY_ENDIAN=y
59ARCH_LITTLE_ENDIAN=y
60# ARCH_WANTS_BIG_ENDIAN is not set
61ARCH_WANTS_LITTLE_ENDIAN=y
62ARCH_HAS_MMU=y
63ARCH_USE_MMU=y
64UCLIBC_HAS_FLOATS=y
65# UCLIBC_HAS_FPU is not set
66UCLIBC_HAS_SOFT_FLOAT=y
67DO_C99_MATH=y
68KERNEL_HEADERS="/usr/include"
69HAVE_DOT_CONFIG=y
70
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.strongarm b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.strongarm
new file mode 100644
index 0000000000..6e89444a64
--- /dev/null
+++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.strongarm
@@ -0,0 +1,70 @@
1#
2# Automatically generated make config: don't edit
3# Sun May 13 11:29:51 2007
4#
5# TARGET_alpha is not set
6TARGET_arm=y
7# TARGET_bfin is not set
8# TARGET_cris is not set
9# TARGET_e1 is not set
10# TARGET_frv is not set
11# TARGET_h8300 is not set
12# TARGET_hppa is not set
13# TARGET_i386 is not set
14# TARGET_i960 is not set
15# TARGET_ia64 is not set
16# TARGET_m68k is not set
17# TARGET_microblaze is not set
18# TARGET_mips is not set
19# TARGET_nios is not set
20# TARGET_nios2 is not set
21# TARGET_powerpc is not set
22# TARGET_sh is not set
23# TARGET_sh64 is not set
24# TARGET_sparc is not set
25# TARGET_v850 is not set
26# TARGET_vax is not set
27# TARGET_x86_64 is not set
28
29#
30# Target Architecture Features and Options
31#
32TARGET_ARCH="arm"
33FORCE_OPTIONS_FOR_ARCH=y
34CONFIG_ARM_OABI=y
35# CONFIG_ARM_EABI is not set
36# USE_BX is not set
37# CONFIG_GENERIC_ARM is not set
38# CONFIG_ARM610 is not set
39# CONFIG_ARM710 is not set
40# CONFIG_ARM7TDMI is not set
41# CONFIG_ARM720T is not set
42# CONFIG_ARM920T is not set
43# CONFIG_ARM922T is not set
44# CONFIG_ARM926T is not set
45# CONFIG_ARM10T is not set
46# CONFIG_ARM1136JF_S is not set
47# CONFIG_ARM1176JZ_S is not set
48# CONFIG_ARM1176JZF_S is not set
49# CONFIG_ARM_SA110 is not set
50CONFIG_ARM_SA1100=y
51# CONFIG_ARM_XSCALE is not set
52# CONFIG_ARM_IWMMXT is not set
53TARGET_SUBARCH=""
54
55#
56# Using ELF file format
57#
58ARCH_ANY_ENDIAN=y
59ARCH_LITTLE_ENDIAN=y
60# ARCH_WANTS_BIG_ENDIAN is not set
61ARCH_WANTS_LITTLE_ENDIAN=y
62ARCH_HAS_MMU=y
63ARCH_USE_MMU=y
64UCLIBC_HAS_FLOATS=y
65# UCLIBC_HAS_FPU is not set
66UCLIBC_HAS_SOFT_FLOAT=y
67DO_C99_MATH=y
68KERNEL_HEADERS="/usr/include"
69HAVE_DOT_CONFIG=y
70
diff --git a/meta/packages/uclibc/uclibc.inc b/meta/packages/uclibc/uclibc.inc
index bae3f2d042..7fb8e5cf28 100644
--- a/meta/packages/uclibc/uclibc.inc
+++ b/meta/packages/uclibc/uclibc.inc
@@ -23,11 +23,16 @@ PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
23PROVIDES += "${@['virtual/libiconv', ''][bb.data.getVar('USE_NLS', d, 1) != 'yes']}" 23PROVIDES += "${@['virtual/libiconv', ''][bb.data.getVar('USE_NLS', d, 1) != 'yes']}"
24DEPENDS = "virtual/${TARGET_PREFIX}binutils \ 24DEPENDS = "virtual/${TARGET_PREFIX}binutils \
25 virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" 25 virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
26
27# Blackfin needs a wrapper around ld
28DEPENDS_append_bfin = " elf2flt "
29
26INHIBIT_DEFAULT_DEPS = "1" 30INHIBIT_DEFAULT_DEPS = "1"
27PARALLEL_MAKE = "" 31PARALLEL_MAKE = ""
28 32
29PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db" 33PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db"
30 34
35# The last line (gdb and lib1) is for uclinux-uclibc builds
31uclibc_baselibs = "/lib/libcrypt*.so* /lib/libdl*.so \ 36uclibc_baselibs = "/lib/libcrypt*.so* /lib/libdl*.so \
32 /lib/libintl*.so* /lib/libm*.so \ 37 /lib/libintl*.so* /lib/libm*.so \
33 /lib/libnsl*.so* /lib/libpthread*.so \ 38 /lib/libnsl*.so* /lib/libpthread*.so \
@@ -35,7 +40,9 @@ uclibc_baselibs = "/lib/libcrypt*.so* /lib/libdl*.so \
35 /lib/libuClibc*.so* /lib/ld*.so* \ 40 /lib/libuClibc*.so* /lib/ld*.so* \
36 /lib/libc*.so* /lib/libdl*.so* \ 41 /lib/libc*.so* /lib/libdl*.so* \
37 /lib/libm*.so* /lib/libutil*.so* \ 42 /lib/libm*.so* /lib/libutil*.so* \
38 /lib/libpthread*.so* /lib/librt*.so*" 43 /lib/libpthread*.so* /lib/librt*.so* \
44 /usr/lib/libc.gdb /usr/lib/libc /lib/lib1.so \
45 "
39FILES_${PN} = "${sysconfdir} ${uclibc_baselibs} /sbin/ldconfig \ 46FILES_${PN} = "${sysconfdir} ${uclibc_baselibs} /sbin/ldconfig \
40 ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale" 47 ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
41FILES_ldd = "${bindir}/ldd" 48FILES_ldd = "${bindir}/ldd"
@@ -128,7 +135,7 @@ do_configure() {
128 135
129 sed -i -e '/CONFIG_ARM_EABI/d' ${S}/.config 136 sed -i -e '/CONFIG_ARM_EABI/d' ${S}/.config
130 137
131 if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then 138 if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then
132 echo "CONFIG_ARM_EABI=y" >> ${S}/.config 139 echo "CONFIG_ARM_EABI=y" >> ${S}/.config
133 else 140 else
134 echo "# CONFIG_ARM_EABI is not set" >> ${S}/.config 141 echo "# CONFIG_ARM_EABI is not set" >> ${S}/.config
diff --git a/meta/packages/uclibc/uclibc_0.9.29.bb b/meta/packages/uclibc/uclibc_0.9.29.bb
index 293a00ed55..f00a347aa8 100644
--- a/meta/packages/uclibc/uclibc_0.9.29.bb
+++ b/meta/packages/uclibc/uclibc_0.9.29.bb
@@ -7,13 +7,17 @@
7# on whether the base patches apply to the selected (SRCDATE) svn release. 7# on whether the base patches apply to the selected (SRCDATE) svn release.
8# 8#
9UCLIBC_BASE ?= "0.9.29" 9UCLIBC_BASE ?= "0.9.29"
10PR = "r3" 10PR = "r7"
11 11
12require uclibc.inc 12require uclibc.inc
13 13
14PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" 14PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
15 15
16SRC_URI += "file://uClibc.machine file://uClibc.distro" 16SRC_URI += "file://uClibc.machine file://uClibc.distro \
17 file://errno_values.h.patch;patch=1 \
18 file://termios.h.patch;patch=1 \
19 "
20
17# mmap-unsigned-shift_bugid1303.patch 21# mmap-unsigned-shift_bugid1303.patch
18# http://uclibc.org/lists/uclibc-cvs/2007-May/011360.html;patch=1" 22# http://uclibc.org/lists/uclibc-cvs/2007-May/011360.html;patch=1"
19 23