diff options
| author | Khem Raj <raj.khem@gmail.com> | 2011-05-22 12:02:12 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-23 15:53:16 +0100 |
| commit | ac60a936e737680c16b287a3dab6aa285d87c5c0 (patch) | |
| tree | 3ba87af4e38641def4f2ec974cc28c196c50f50e | |
| parent | 65f1109faf9548c5d083089561d5b9d99dbacc83 (diff) | |
| download | openembedded-core-ac60a936e737680c16b287a3dab6aa285d87c5c0.tar.gz openembedded-core-ac60a936e737680c16b287a3dab6aa285d87c5c0.tar.bz2 openembedded-core-ac60a936e737680c16b287a3dab6aa285d87c5c0.zip | |
uclibc: Upgrade to 0.9.32-rc3
Bring in the uclibc recipes from meta-oe they have been well
tested by now.
Delete 0.9.30.1 recipes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
60 files changed, 7878 insertions, 2406 deletions
diff --git a/meta/recipes-core/uclibc/files/armeb-kernel-stat.h.patch b/meta/recipes-core/uclibc/files/armeb-kernel-stat.h.patch deleted file mode 100644 index 0440718eec..0000000000 --- a/meta/recipes-core/uclibc/files/armeb-kernel-stat.h.patch +++ /dev/null @@ -1,125 +0,0 @@ -# The 2.6 asm/stat.h for ARM has some rather unusual transmogrifications -# for big-endian running. This patch adds ARM specific code in xstatconv.c -# which deals with the 2.4->2.6 ABI change. ---- uClibc-0.9.27/libc/sysdeps/linux/common/xstatconv.c 2005-01-11 23:59:21.000000000 -0800 -+++ uClibc-0.9.27/libc/sysdeps/linux/common/xstatconv.c 2005-06-05 11:03:56.742587966 -0700 -@@ -18,7 +18,14 @@ - 02111-1307 USA. - - Modified for uClibc by Erik Andersen <andersen@codepoet.org> -+ Further modified for ARMBE by John Bowler <jbowler@acm.org> - */ -+/* This is a copy of common/xstatconv.c with a fixup for the ABI -+ * (structure layout) change in ARM Linux 2.6 - this shifts the -+ * st_dev and st_rdev information from the start of the 8 byte -+ * space to the end on big-endian ARM (only). The code is unchanged -+ * on little endian. -+ */ - - #define _GNU_SOURCE - #define _LARGEFILE64_SOURCE -@@ -32,6 +39,84 @@ - #include <sys/stat.h> - #include "xstatconv.h" - -+/* Only for ARMEB and LFS. */ -+#if defined(__ARMEB__) && defined(__UCLIBC_HAS_LFS__) -+/* stat64 (renamed) from 2.6.11.11. What happened here is that after -+ * Linux 2.4 the 2.4 unsigned short st_rdev and st_dev fields were -+ * lengthened to unsigned long long - causing the inclusion of at least -+ * some of the 0 padding bytes which followed them. On little endian -+ * this is fine because 2.4 did zero the pad bytes (I think) and the -+ * position of the data did not change. On big endian the change -+ * shifted the data to the end of the field. Someone noticed for the -+ * struct stat, and the armeb (big endian) case preserved the -+ * unsigned short (yuck), but no so for stat64 (maybe this was deliberate, -+ * but there is no evidence in the code of this.) Consequently a -+ * fixup is necessary for the stat64 case. The fixup here is to -+ * use the new structure when the change is detected. See below. -+ */ -+struct __kernel_stat64_armeb { -+ /* This definition changes the layout on big-endian from that -+ * used in 2.4.31 - ABI change! Likewise for st_rdev. -+ */ -+ unsigned long long st_dev; -+ unsigned char __pad0[4]; -+ unsigned long __st_ino; -+ unsigned int st_mode; -+ unsigned int st_nlink; -+ unsigned long st_uid; -+ unsigned long st_gid; -+ unsigned long long st_rdev; -+ unsigned char __pad3[4]; -+ long long st_size; -+ unsigned long st_blksize; -+ unsigned long __pad4; -+ unsigned long st_blocks; -+ unsigned long st_atime; -+ unsigned long st_atime_nsec; -+ unsigned long st_mtime; -+ unsigned long st_mtime_nsec; -+ unsigned long st_ctime; -+ unsigned long st_ctime_nsec; -+ unsigned long long st_ino; -+}; -+ -+/* This fixup only works so long as the old struct stat64 is no -+ * smaller than the new one - the caller of xstatconv uses the -+ * *old* struct, but the kernel writes the new one. CASSERT -+ * detects this at compile time. -+ */ -+#define CASSERT(c) do switch (0) { case 0:; case (c):; } while (0) -+ -+void __xstat64_conv_new(struct __kernel_stat64_armeb *kbuf, struct stat64 *buf) -+{ -+ CASSERT(sizeof *kbuf <= sizeof (struct kernel_stat64)); -+ -+ /* Convert from new kernel version of `struct stat64'. */ -+ buf->st_dev = kbuf->st_dev; -+ buf->st_ino = kbuf->st_ino; -+#ifdef _HAVE_STAT64___ST_INO -+ buf->__st_ino = kbuf->__st_ino; -+#endif -+ buf->st_mode = kbuf->st_mode; -+ buf->st_nlink = kbuf->st_nlink; -+ buf->st_uid = kbuf->st_uid; -+ buf->st_gid = kbuf->st_gid; -+ buf->st_rdev = kbuf->st_rdev; -+ buf->st_size = kbuf->st_size; -+ buf->st_blksize = kbuf->st_blksize; -+ buf->st_blocks = kbuf->st_blocks; -+ buf->st_atime = kbuf->st_atime; -+ buf->st_mtime = kbuf->st_mtime; -+ buf->st_ctime = kbuf->st_ctime; -+} -+#define _MAY_HAVE_NEW_STAT64 1 -+#else -+#define _MAY_HAVE_NEW_STAT64 0 -+#endif -+ -+/* The following is taken verbatim from xstatconv.c apart from -+ * the addition of the _MAY_HAVE_NEW_STAT64 code. -+ */ - void __xstat_conv(struct kernel_stat *kbuf, struct stat *buf) - { - /* Convert to current kernel version of `struct stat'. */ -@@ -53,6 +138,19 @@ - #if defined __UCLIBC_HAS_LFS__ - void __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf) - { -+# if _MAY_HAVE_NEW_STAT64 -+ /* This relies on any device (0,0) not being mountable - i.e. -+ * it fails on Linux 2.4 if dev(0,0) is a mountable block file -+ * system and itself contains it's own device. That doesn't -+ * happen on Linux 2.4 so far as I can see, but even if it -+ * does the API only fails (even then) if 2.4 didn't set all -+ * of the pad bytes to 0 (and it does set them to zero.) -+ */ -+ if (kbuf->st_dev == 0 && kbuf->st_rdev == 0) { -+ __xstat64_conv_new((struct __kernel_stat64_armeb*)kbuf, buf); -+ return; -+ } -+# endif - /* Convert to current kernel version of `struct stat64'. */ - buf->st_dev = kbuf->st_dev; - buf->st_ino = kbuf->st_ino; diff --git a/meta/recipes-core/uclibc/files/errno_values.h.patch b/meta/recipes-core/uclibc/files/errno_values.h.patch deleted file mode 100644 index a1e39c181b..0000000000 --- a/meta/recipes-core/uclibc/files/errno_values.h.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: uClibc-0.9.29/libc/sysdeps/linux/common/bits/errno_values.h -=================================================================== ---- uClibc-0.9.29/libc/sysdeps/linux/common/bits/errno_values.h 2002-08-23 20:48:19.000000000 +0200 -+++ uClibc-0.9.29/libc/sysdeps/linux/common/bits/errno_values.h 2007-07-01 22:11:53.000000000 +0200 -@@ -134,4 +134,16 @@ - #define ENOMEDIUM 123 /* No medium found */ - #define EMEDIUMTYPE 124 /* Wrong medium type */ - -+/* the following errornumbers are only in 2.6 */ -+ -+#define ECANCELED 125 /* Operation Canceled */ -+#define ENOKEY 126 /* Required key not available */ -+#define EKEYEXPIRED 127 /* Key has expired */ -+#define EKEYREVOKED 128 /* Key has been revoked */ -+#define EKEYREJECTED 129 /* Key was rejected by service */ -+ -+/* for robust mutexes */ -+#define EOWNERDEAD 130 /* Owner died */ -+#define ENOTRECOVERABLE 131 /* State not recoverable */ -+ - #endif /* _BITS_ERRNO_VALUES_H */ diff --git a/meta/recipes-core/uclibc/files/kernel-key-t-ipc.h.patch b/meta/recipes-core/uclibc/files/kernel-key-t-ipc.h.patch deleted file mode 100644 index 4cc4530470..0000000000 --- a/meta/recipes-core/uclibc/files/kernel-key-t-ipc.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -# include/linux/posix_types.h defines __kernel_key_t as int, this file -# contains an identical definition. This results in a compiler error -# if both files are included. The ipc.h file, however, also includes -# bits/types.h, which typedefs __key_t to (int), therefore it must -# be safe to use __key_t in place of __kernel_key_t (given that C -# regards equivalent numeric typedefs as identical.) ---- uClibc-0.9.27/libc/sysdeps/linux/common/bits/ipc.h.orig 2005-05-07 13:36:04.448332211 -0700 -+++ uClibc-0.9.27/libc/sysdeps/linux/common/bits/ipc.h 2005-05-07 13:37:00.493885708 -0700 -@@ -35,9 +35,6 @@ - # define IPC_INFO 3 /* See ipcs. */ - #endif - --/* Type of a SYSV IPC key. */ --typedef int __kernel_key_t; -- - /* Special key values. */ - #define IPC_PRIVATE ((__key_t) 0) /* Private key. */ - -@@ -45,7 +42,7 @@ - /* Data structure used to pass permission information to IPC operations. */ - struct ipc_perm - { -- __kernel_key_t __key; -+ __key_t __key; - __kernel_uid_t uid; - __kernel_gid_t gid; - __kernel_uid_t cuid; diff --git a/meta/recipes-core/uclibc/files/nokernelheadercheck.patch b/meta/recipes-core/uclibc/files/nokernelheadercheck.patch deleted file mode 100644 index 9f09fb2ac9..0000000000 --- a/meta/recipes-core/uclibc/files/nokernelheadercheck.patch +++ /dev/null @@ -1,24 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- uClibc/Makefile~nokernelheadercheck -+++ uClibc/Makefile -@@ -121,11 +121,11 @@ - @./extra/config/conf -o extra/Configs/Config.in - - headers: include/bits/uClibc_config.h --ifeq ($(strip $(ARCH_HAS_MMU)),y) -- @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH) --else -- @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH) -n --endif -+#ifeq ($(strip $(ARCH_HAS_MMU)),y) -+# @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH) -+#else -+# @set -x; ./extra/scripts/fix_includes.sh -k $(KERNEL_SOURCE) -t $(TARGET_ARCH) -n -+#endif - @cd include/bits; \ - set -e; \ - for i in `ls ../../libc/sysdeps/linux/common/bits/*.h` ; do \ diff --git a/meta/recipes-core/uclibc/files/termios.h.patch b/meta/recipes-core/uclibc/files/termios.h.patch deleted file mode 100644 index f7200ba393..0000000000 --- a/meta/recipes-core/uclibc/files/termios.h.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: uClibc-0.9.29/libc/sysdeps/linux/common/bits/termios.h -=================================================================== ---- uClibc-0.9.29.orig/libc/sysdeps/linux/common/bits/termios.h 2006-02-13 09:41:37.000000000 +0100 -+++ uClibc-0.9.29/libc/sysdeps/linux/common/bits/termios.h 2007-07-03 00:41:27.000000000 +0200 -@@ -156,7 +156,6 @@ - #endif - #define B57600 0010001 - #define B115200 0010002 --#if 0 /* limited on uClibc, keep in sync w/ cfsetspeed.c */ - #define B230400 0010003 - #define B460800 0010004 - #define B500000 0010005 -@@ -171,9 +170,6 @@ - #define B3500000 0010016 - #define B4000000 0010017 - #define __MAX_BAUD B4000000 --#else --#define __MAX_BAUD B115200 --#endif - #ifdef __USE_MISC - # define CIBAUD 002003600000 /* input baud rate (not used) */ - # define CMSPAR 010000000000 /* mark or space (stick) parity */ diff --git a/meta/recipes-core/uclibc/files/uClibc.distro b/meta/recipes-core/uclibc/files/uClibc.distro deleted file mode 100644 index d87b891b41..0000000000 --- a/meta/recipes-core/uclibc/files/uClibc.distro +++ /dev/null @@ -1,3 +0,0 @@ -# Default per-distro config -# DO NOT CHANGE THIS -# Create a new file ${DISTRO}/uClibc.distro diff --git a/meta/recipes-core/uclibc/site_config/funcs b/meta/recipes-core/uclibc/site_config/funcs index 79a3c19652..ccc85392d7 100644 --- a/meta/recipes-core/uclibc/site_config/funcs +++ b/meta/recipes-core/uclibc/site_config/funcs @@ -121,6 +121,7 @@ gethostid gethostname getifaddrs getline +getloadavg getmntent getmsg getnameinfo diff --git a/meta/recipes-core/uclibc/uclibc-0.9.30.1/uClibc.distro b/meta/recipes-core/uclibc/uClibc.distro index 042ea4c547..e25324d3d1 100644 --- a/meta/recipes-core/uclibc/uclibc-0.9.30.1/uClibc.distro +++ b/meta/recipes-core/uclibc/uClibc.distro @@ -17,8 +17,9 @@ UCLIBC_CTOR_DTOR=y LDSO_GNU_HASH_SUPPORT=y # HAS_NO_THREADS is not set UCLIBC_HAS_THREADS=y +UCLIBC_HAS_THREADS_NATIVE=y PTHREADS_DEBUG_SUPPORT=y -LINUXTHREADS_OLD=y +# LINUXTHREADS_OLD is not set UCLIBC_HAS_LFS=y # MALLOC is not set # MALLOC_SIMPLE is not set @@ -28,12 +29,13 @@ UCLIBC_DYNAMIC_ATEXIT=y COMPAT_ATEXIT=y UCLIBC_SUSV3_LEGACY=y UCLIBC_SUSV3_LEGACY_MACROS=y +UCLIBC_SUSV4_LEGACY=y UCLIBC_HAS_SHADOW=y UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y UCLIBC_HAS___PROGNAME=y UNIX98PTY_ONLY=y -UCLIBC_HAS_GETPT=y ASSUME_DEVPTS=y +UCLIBC_HAS_LIBUTIL=y UCLIBC_HAS_TM_EXTENSIONS=y UCLIBC_HAS_TZ_CACHING=y UCLIBC_HAS_TZ_FILE=y @@ -53,8 +55,12 @@ UCLIBC_HAS_IPV6=y UCLIBC_HAS_RPC=y UCLIBC_HAS_FULL_RPC=y # UCLIBC_HAS_REENTRANT_RPC is not set -# UCLIBC_USE_NETLINK is not set -# UCLIBC_HAS_BSD_RES_CLOSE is not set +UCLIBC_USE_NETLINK=y +UCLIBC_SUPPORT_AI_ADDRCONFIG=y + +UCLIBC_HAS_BSD_RES_CLOSE=y +UCLIBC_HAS_LIBRESOLV_STUB=y +UCLIBC_HAS_LIBNSL_STUB=y # # String and Stdio Support @@ -83,8 +89,8 @@ UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y # UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set # UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set # UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set -# UCLIBC_HAS_STDIO_GETC_MACRO is not set -# UCLIBC_HAS_STDIO_PUTC_MACRO is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y # UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y @@ -105,7 +111,9 @@ UCLIBC_HAS_REGEX=y UCLIBC_HAS_FNMATCH=y # UCLIBC_HAS_FNMATCH_OLD is not set UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +UCLIBC_HAS_FTS=y UCLIBC_HAS_GLOB=y UCLIBC_HAS_GNU_GLOB=y @@ -134,7 +142,7 @@ CROSS_COMPILER_PREFIX="" UCLIBC_EXTRA_CFLAGS="" # DODEBUG is not set # DODEBUG_PT is not set -DOSTRIP=n +# DOSTRIP is not set # DOASSERTS is not set # SUPPORT_LD_DEBUG is not set # SUPPORT_LD_DEBUG_EARLY is not set @@ -146,3 +154,4 @@ WARNINGS="-Wall" # math stuff for perl DO_C99_MATH=y +UCLIBC_HAS_LONG_DOUBLE_MATH=y diff --git a/meta/recipes-core/uclibc/uclibc-0.9.30.1/Use-__always_inline-instead-of-__inline__.patch b/meta/recipes-core/uclibc/uclibc-0.9.30.1/Use-__always_inline-instead-of-__inline__.patch deleted file mode 100644 index a9c7a4fb10..0000000000 --- a/meta/recipes-core/uclibc/uclibc-0.9.30.1/Use-__always_inline-instead-of-__inline__.patch +++ /dev/null @@ -1,393 +0,0 @@ -From c190f738e1b0e87658ea5f86c057fb147dc19428 Mon Sep 17 00:00:00 2001 -From: Carmelo Amoroso <carmelo.amoroso@st.com> -Date: Thu, 5 Mar 2009 13:28:55 +0000 -Subject: [PATCH] Use __always_inline instead of __inline__ - ---- - ldso/ldso/arm/dl-sysdep.h | 8 ++++---- - ldso/ldso/bfin/dl-sysdep.h | 2 +- - ldso/ldso/cris/dl-sysdep.h | 6 +++--- - ldso/ldso/i386/dl-sysdep.h | 10 +++++----- - ldso/ldso/m68k/dl-sysdep.h | 6 +++--- - ldso/ldso/mips/dl-sysdep.h | 8 ++++---- - ldso/ldso/powerpc/dl-sysdep.h | 8 ++++---- - ldso/ldso/sh/dl-sysdep.h | 8 ++++---- - ldso/ldso/sh64/dl-sysdep.h | 6 +++--- - ldso/ldso/sparc/dl-sysdep.h | 8 ++++---- - ldso/ldso/xtensa/dl-sysdep.h | 6 +++--- - 11 files changed, 38 insertions(+), 38 deletions(-) - -diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h -index eea3b98..5191dd7 100644 ---- a/ldso/ldso/arm/dl-sysdep.h -+++ b/ldso/ldso/arm/dl-sysdep.h -@@ -15,7 +15,7 @@ - GOT_BASE[1] = (unsigned long) MODULE; \ - } - --static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p) -+static __always_inline unsigned long arm_modulus(unsigned long m, unsigned long p) - { - unsigned long i,t,inc; - i=p; t=0; -@@ -67,7 +67,7 @@ unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); - first element of the GOT. We used to use the PIC register to do this - without a constant pool reference, but GCC 4.2 will use a pseudo-register - for the PIC base, so it may not be in r10. */ --static __inline__ Elf32_Addr __attribute__ ((unused)) -+static __always_inline Elf32_Addr __attribute__ ((unused)) - elf_machine_dynamic (void) - { - Elf32_Addr dynamic; -@@ -99,7 +99,7 @@ elf_machine_dynamic (void) - } - - /* Return the run-time load address of the shared object. */ --static __inline__ Elf32_Addr __attribute__ ((unused)) -+static __always_inline Elf32_Addr __attribute__ ((unused)) - elf_machine_load_address (void) - { - extern void __dl_start __asm__ ("_dl_start"); -@@ -123,7 +123,7 @@ elf_machine_load_address (void) - return pcrel_addr - got_addr; - } - --static __inline__ void -+static __always_inline void - elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr, - Elf32_Word relative_count) - { -diff --git a/ldso/ldso/bfin/dl-sysdep.h b/ldso/ldso/bfin/dl-sysdep.h -index 3c88da4..f0c5129 100644 ---- a/ldso/ldso/bfin/dl-sysdep.h -+++ b/ldso/ldso/bfin/dl-sysdep.h -@@ -210,7 +210,7 @@ while (0) - #endif - - #include <elf.h> --static __inline__ void -+static __always_inline void - elf_machine_relative (DL_LOADADDR_TYPE load_off, const Elf32_Addr rel_addr, - Elf32_Word relative_count) - { -diff --git a/ldso/ldso/cris/dl-sysdep.h b/ldso/ldso/cris/dl-sysdep.h -index ffb763a..e454c10 100644 ---- a/ldso/ldso/cris/dl-sysdep.h -+++ b/ldso/l |
