diff options
author | Richard Purdie <richard@openedhand.com> | 2007-09-02 20:43:11 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2007-09-02 20:43:11 +0000 |
commit | c51edd3fdb40fa7b99a9060828d1b597664800a1 (patch) | |
tree | 511f7c9900c02e574ce9b9043dad4c461af3b00a | |
parent | f1e0aeba07d38b94b0a52081902b253ab8cd28bd (diff) | |
download | openembedded-core-c51edd3fdb40fa7b99a9060828d1b597664800a1.tar.gz openembedded-core-c51edd3fdb40fa7b99a9060828d1b597664800a1.tar.bz2 openembedded-core-c51edd3fdb40fa7b99a9060828d1b597664800a1.tar.xz openembedded-core-c51edd3fdb40fa7b99a9060828d1b597664800a1.zip |
uclibc: Sync with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2659 311d38ba-8fff-0310-9ca6-ca027cbcb966
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 000000000..0440718ee --- /dev/null +++ b/meta/packages/uclibc/files/armeb-kernel-stat.h.patch @@ -0,0 +1,125 @@ +# 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/packages/uclibc/files/errno_values.h.patch b/meta/packages/uclibc/files/errno_values.h.patch new file mode 100644 index 000000000..a1e39c181 --- /dev/null +++ b/meta/packages/uclibc/files/errno_values.h.patch @@ -0,0 +1,21 @@ +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/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 000000000..4cc453047 --- /dev/null +++ b/meta/packages/uclibc/files/kernel-key-t-ipc.h.patch @@ -0,0 +1,27 @@ +# 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/packages/uclibc/files/nokernelheadercheck.patch b/meta/packages/uclibc/files/nokernelheadercheck.patch new file mode 100644 index 000000000..9f09fb2ac --- /dev/null +++ b/meta/packages/uclibc/files/nokernelheadercheck.patch @@ -0,0 +1,24 @@ + +# +# 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/packages/uclibc/files/termios.h.patch b/meta/packages/uclibc/files/termios.h.patch new file mode 100644 index 000000000..f7200ba39 --- /dev/null +++ b/meta/packages/uclibc/files/termios.h.patch @@ -0,0 +1,22 @@ +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/packages/uclibc/files/uClibc.distro b/meta/packages/uclibc/files/uClibc.distro new file mode 100644 index 000000000..d87b891b4 --- /dev/null +++ b/meta/packages/uclibc/files/uClibc.distro @@ -0,0 +1,3 @@ +# Default per-distro config +# DO NOT CHANGE THIS +# 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 000000000..66346b90f --- /dev/null +++ b/meta/packages/uclibc/files/uClibc.machine @@ -0,0 +1,8 @@ +# Default per-machine config +# DO NOT CHANGE THIS +# Create a new file ${MACHINE}/uClibc.distro +# Use this file for information which is specific to the machine, +# as opposed to the architecture (e.g. nslu2 as opposed to armeb or arm) +# KISS: this file gets includes last, nothing in here can be +# overridden. Restrict things in here to things which are absolutely +# 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 33f36bf17..6e89444a6 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" FORCE_OPTIONS_FOR_ARCH=y CONFIG_ARM_OABI=y # CONFIG_ARM_EABI is not set -USE_BX=y +# USE_BX is not set # CONFIG_GENERIC_ARM is not set # CONFIG_ARM610 is not set # 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 eec16b1b3..2d9f63e53 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 KERNEL_HEADERS="/usr/include" HAVE_DOT_CONFIG=y -# -# General Library Settings -# -# HAVE_NO_PIC is not set -# DOPIC is not set -# HAVE_NO_SHARED is not set -# ARCH_HAS_NO_LDSO is not set -HAVE_SHARED=y -# FORCE_SHAREABLE_TEXT_SEGMENTS is not set -LDSO_LDD_SUPPORT=y -LDSO_CACHE_SUPPORT=y -# LDSO_PRELOAD_FILE_SUPPORT is not set -LDSO_BASE_FILENAME="ld.so" -# UCLIBC_STATIC_LDCONFIG is not set -LDSO_RUNPATH=y -UCLIBC_CTOR_DTOR=y -# HAS_NO_THREADS is not set -UCLIBC_HAS_THREADS=y -PTHREADS_DEBUG_SUPPORT=y -LINUXTHREADS_OLD=y -UCLIBC_HAS_LFS=y -# MALLOC is not set -# MALLOC_SIMPLE is not set -MALLOC_STANDARD=y -MALLOC_GLIBC_COMPAT=y -UCLIBC_DYNAMIC_ATEXIT=y -COMPAT_ATEXIT=y -# UCLIBC_SUSV3_LEGACY is not set -# UCLIBC_SUSV3_LEGACY_MACROS is not set -UCLIBC_HAS_SHADOW=y -# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set -UCLIBC_HAS___PROGNAME=y -UNIX98PTY_ONLY=y -ASSUME_DEVPTS=y -UCLIBC_HAS_TM_EXTENSIONS=y -UCLIBC_HAS_TZ_CACHING=y -UCLIBC_HAS_TZ_FILE=y -UCLIBC_HAS_TZ_FILE_READ_MANY=y -UCLIBC_TZ_FILE_PATH="/etc/TZ" - -# -# Advanced Library Settings -# -UCLIBC_PWD_BUFFER_SIZE=256 -UCLIBC_GRP_BUFFER_SIZE=256 - -# -# Networking Support -# -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 - -# -# String and Stdio Support -# -UCLIBC_HAS_STRING_GENERIC_OPT=y -UCLIBC_HAS_STRING_ARCH_OPT=y -UCLIBC_HAS_CTYPE_TABLES=y -UCLIBC_HAS_CTYPE_SIGNED=y -# UCLIBC_HAS_CTYPE_UNSAFE is not set -UCLIBC_HAS_CTYPE_CHECKED=y -# UCLIBC_HAS_CTYPE_ENFORCED is not set -UCLIBC_HAS_WCHAR=y -# UCLIBC_HAS_LOCALE is not set -UCLIBC_HAS_HEXADECIMAL_FLOATS=y -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y -# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set -UCLIBC_HAS_STDIO_BUFSIZ_256=y -# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set -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=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 -UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y -UCLIBC_HAS_PRINTF_M_SPEC=y -UCLIBC_HAS_ERRNO_MESSAGES=y -# UCLIBC_HAS_SYS_ERRLIST is not set -UCLIBC_HAS_SIGNUM_MESSAGES=y -# UCLIBC_HAS_SYS_SIGLIST is not set -UCLIBC_HAS_GNU_GETOPT=y -UCLIBC_HAS_GNU_GETSUBOPT=y - -# -# Big and Tall -# -UCLIBC_HAS_REGEX=y -# UCLIBC_HAS_REGEX_OLD is not set -UCLIBC_HAS_FNMATCH=y -# UCLIBC_HAS_FNMATCH_OLD is not set -UCLIBC_HAS_WORDEXP=y -UCLIBC_HAS_FTW=y -UCLIBC_HAS_GLOB=y -# UCLIBC_HAS_GNU_GLOB is not set - -# -# Library Installation Options -# -SHARED_LIB_LOADER_PREFIX="/lib" -RUNTIME_PREFIX="/" -DEVEL_PREFIX="//usr" - -# -# Security options -# -# UCLIBC_BUILD_PIE is not set -# UCLIBC_HAS_ARC4RANDOM is not set -# HAVE_NO_SSP is not set -# UCLIBC_HAS_SSP is not set -UCLIBC_BUILD_RELRO=y -UCLIBC_BUILD_NOW=y -UCLIBC_BUILD_NOEXECSTACK=y - -# -# uClibc development/debugging options -# -CROSS_COMPILER_PREFIX="" -UCLIBC_EXTRA_CFLAGS="" -# DODEBUG is not set -# DODEBUG_PT is not set -DOSTRIP=y -# DOASSERTS is not set -# SUPPORT_LD_DEBUG is not set -# SUPPORT_LD_DEBUG_EARLY is not set -# UCLIBC_MALLOC_DEBUGGING is not set -WARNINGS="-Wall" -# EXTRA_WARNINGS is not set -# DOMULTI is not set -# 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 b326ff03b..000000000 --- a/meta/packages/uclibc/uclibc-0.9.29/poky/uClibc.distro +++ /dev/null @@ -1,146 +0,0 @@ -# -# General Library Settings -# -# HAVE_NO_PIC is not set -# DOPIC is not set -# HAVE_NO_SHARED is not set -# ARCH_HAS_NO_LDSO is not set -HAVE_SHARED=y -# FORCE_SHAREABLE_TEXT_SEGMENTS is not set -LDSO_LDD_SUPPORT=y -LDSO_CACHE_SUPPORT=y -# LDSO_PRELOAD_FILE_SUPPORT is not set -LDSO_BASE_FILENAME="ld.so" -# UCLIBC_STATIC_LDCONFIG is not set -LDSO_RUNPATH=y -UCLIBC_CTOR_DTOR=y -# HAS_NO_THREADS is not set -UCLIBC_HAS_THREADS=y -PTHREADS_DEBUG_SUPPORT=y -LINUXTHREADS_OLD=y -UCLIBC_HAS_LFS=y -# MALLOC is not set -# MALLOC_SIMPLE is not set -MALLOC_STANDARD=y -MALLOC_GLIBC_COMPAT=y -UCLIBC_DYNAMIC_ATEXIT=y -COMPAT_ATEXIT=y -UCLIBC_SUSV3_LEGACY=y -UCLIBC_SUSV3_LEGACY_MACROS=y -UCLIBC_HAS_SHADOW=y -# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set -UCLIBC_HAS___PROGNAME=y -UNIX98PTY_ONLY=y -ASSUME_DEVPTS=y -UCLIBC_HAS_TM_EXTENSIONS=y -UCLIBC_HAS_TZ_CACHING=y -UCLIBC_HAS_TZ_FILE=y -UCLIBC_HAS_TZ_FILE_READ_MANY=y -UCLIBC_TZ_FILE_PATH="/etc/TZ" - -# -# Advanced Library Settings -# -UCLIBC_PWD_BUFFER_SIZE=256 -UCLIBC_GRP_BUFFER_SIZE=256 - -# -# Networking Support -# -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 - -# -# String and Stdio Support -# -UCLIBC_HAS_STRING_GENERIC_OPT=y -UCLIBC_HAS_STRING_ARCH_OPT=y -UCLIBC_HAS_CTYPE_TABLES=y -UCLIBC_HAS_CTYPE_SIGNED=y -# UCLIBC_HAS_CTYPE_UNSAFE is not set -UCLIBC_HAS_CTYPE_CHECKED=y -# UCLIBC_HAS_CTYPE_ENFORCED is not set -UCLIBC_HAS_WCHAR=y -# UCLIBC_HAS_LOCALE is not set -UCLIBC_HAS_HEXADECIMAL_FLOATS=y -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y -# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set -UCLIBC_HAS_STDIO_BUFSIZ_256=y -# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set -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=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 -UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y -UCLIBC_HAS_PRINTF_M_SPEC=y -UCLIBC_HAS_ERRNO_MESSAGES=y -# UCLIBC_HAS_SYS_ERRLIST is not set -UCLIBC_HAS_SIGNUM_MESSAGES=y -# UCLIBC_HAS_SYS_SIGLIST is not set -UCLIBC_HAS_GNU_GETOPT=y -UCLIBC_HAS_GNU_GETSUBOPT=y - -# -# Big and Tall -# -UCLIBC_HAS_REGEX=y -# UCLIBC_HAS_REGEX_OLD is not set -UCLIBC_HAS_FNMATCH=y -# UCLIBC_HAS_FNMATCH_OLD is not set -UCLIBC_HAS_WORDEXP=y -UCLIBC_HAS_FTW=y -UCLIBC_HAS_GLOB=y -# UCLIBC_HAS_GNU_GLOB is not set - -# -# Library Installation Options -# -SHARED_LIB_LOADER_PREFIX="/lib" -RUNTIME_PREFIX="/" -DEVEL_PREFIX="//usr" - -# -# Security options -# -# UCLIBC_BUILD_PIE is not set -# UCLIBC_HAS_ARC4RANDOM is not set -# HAVE_NO_SSP is not set -# UCLIBC_HAS_SSP is not set -UCLIBC_BUILD_RELRO=y -UCLIBC_BUILD_NOW=y -UCLIBC_BUILD_NOEXECSTACK=y - -# -# uClibc development/debugging options -# -CROSS_COMPILER_PREFIX="" -UCLIBC_EXTRA_CFLAGS="" -# DODEBUG is not set -# DODEBUG_PT is not set -DOSTRIP=y -# DOASSERTS is not set -# SUPPORT_LD_DEBUG is not set -# SUPPORT_LD_DEBUG_EARLY is not set -# UCLIBC_MALLOC_DEBUGGING is not set -WARNINGS="-Wall" -# EXTRA_WARNINGS is not set -# DOMULTI is not set -# UCLIBC_MJN3_ONLY is not set - -# math stuff for perl -DO_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 b326ff03b..b326ff03b 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 000000000..898b73a33 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv4t @@ -0,0 +1,69 @@ +# +# Automatically generated make config: don't edit +# Mon May 14 10:23:14 2007 +# +# TARGET_alpha is not set +TARGET_arm=y +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="arm" +FORCE_OPTIONS_FOR_ARCH=y +# CONFIG_ARM_OABI is not set +CONFIG_ARM_EABI=y +USE_BX=y +# CONFIG_GENERIC_ARM is not set +# CONFIG_ARM610 is not set +# CONFIG_ARM710 is not set +# CONFIG_ARM7TDMI is not set +# CONFIG_ARM720T is not set +CONFIG_ARM920T=y +# CONFIG_ARM922T is not set +# CONFIG_ARM926T is not set +# CONFIG_ARM10T is not set +# CONFIG_ARM1136JF_S is not set +# CONFIG_ARM1176JZ_S is not set +# CONFIG_ARM1176JZF_S is not set +# CONFIG_ARM_SA110 is not set +# CONFIG_ARM_SA1100 is not set +# CONFIG_ARM_XSCALE is not set +# CONFIG_ARM_IWMMXT is not set +TARGET_SUBARCH="" + +# +# Using ELF file format +# +ARCH_ANY_ENDIAN=y +ARCH_LITTLE_ENDIAN=y +# ARCH_WANTS_BIG_ENDIAN is not set +ARCH_WANTS_LITTLE_ENDIAN=y +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +# UCLIBC_HAS_FPU is not set +UCLIBC_HAS_SOFT_FLOAT=y +KERNEL_HEADERS="/usr/include" +HAVE_DOT_CONFIG=y + 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 000000000..ec0385bc0 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.armv5te @@ -0,0 +1,70 @@ +# +# Automatically generated make config: don't edit +# Sun May 13 11:16:02 2007 +# +# TARGET_alpha is not set +TARGET_arm=y +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="arm" +FORCE_OPTIONS_FOR_ARCH=y +# CONFIG_ARM_OABI is not set +CONFIG_ARM_EABI=y +USE_BX=y +# CONFIG_GENERIC_ARM is not set +# CONFIG_ARM610 is not set +# CONFIG_ARM710 is not set +# CONFIG_ARM7TDMI is not set +# CONFIG_ARM720T is not set +# CONFIG_ARM920T is not set +# CONFIG_ARM922T is not set +# CONFIG_ARM926T is not set +# CONFIG_ARM10T is not set +# CONFIG_ARM1136JF_S is not set +# CONFIG_ARM1176JZ_S is not set +# CONFIG_ARM1176JZF_S is not set +# CONFIG_ARM_SA110 is not set +# CONFIG_ARM_SA1100 is not set +CONFIG_ARM_XSCALE=y +# CONFIG_ARM_IWMMXT is not set +TARGET_SUBARCH="" + +# +# Using ELF file format +# +ARCH_ANY_ENDIAN=y +ARCH_LITTLE_ENDIAN=y +# ARCH_WANTS_BIG_ENDIAN is not set +ARCH_WANTS_LITTLE_ENDIAN=y +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +# UCLIBC_HAS_FPU is not set +UCLIBC_HAS_SOFT_FLOAT=y +DO_C99_MATH=y +KERNEL_HEADERS="/data/build/koen/OE/build/tmp/angstrom/cross/arm-angstrom-linux-uclibcgnueabi/include" +HAVE_DOT_CONFIG=y + 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 000000000..e27931cf6 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.iwmmxt @@ -0,0 +1,70 @@ +# +# Automatically generated make config: don't edit +# Sat May 12 23:18:41 2007 +# +# TARGET_alpha is not set +TARGET_arm=y +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="arm" +FORCE_OPTIONS_FOR_ARCH=y +# CONFIG_ARM_OABI is not set +CONFIG_ARM_EABI=y +USE_BX=y +# CONFIG_GENERIC_ARM is not set +# CONFIG_ARM610 is not set +# CONFIG_ARM710 is not set +# CONFIG_ARM7TDMI is not set +# CONFIG_ARM720T is not set +# CONFIG_ARM920T is not set +# CONFIG_ARM922T is not set +# CONFIG_ARM926T is not set +# CONFIG_ARM10T is not set +# CONFIG_ARM1136JF_S is not set +# CONFIG_ARM1176JZ_S is not set +# CONFIG_ARM1176JZF_S is not set +# CONFIG_ARM_SA110 is not set +# CONFIG_ARM_SA1100 is not set +# CONFIG_ARM_XSCALE is not set +CONFIG_ARM_IWMMXT=y +TARGET_SUBARCH="" + +# +# Using ELF file format +# +ARCH_ANY_ENDIAN=y +ARCH_LITTLE_ENDIAN=y +# ARCH_WANTS_BIG_ENDIAN is not set +ARCH_WANTS_LITTLE_ENDIAN=y +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +# UCLIBC_HAS_FPU is not set +UCLIBC_HAS_SOFT_FLOAT=y +DO_C99_MATH=y +KERNEL_HEADERS="/usr/include" +HAVE_DOT_CONFIG=y + 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 000000000..6e89444a6 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc.machine.strongarm @@ -0,0 +1,70 @@ +# +# Automatically generated make config: don't edit +# Sun May 13 11:29:51 2007 +# +# TARGET_alpha is not set +TARGET_arm=y +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="arm" +FORCE_OPTIONS_FOR_ARCH=y +CONFIG_ARM_OABI=y +# CONFIG_ARM_EABI is not set +# USE_BX is not set +# CONFIG_GENERIC_ARM is not set +# CONFIG_ARM610 is not set +# CONFIG_ARM710 is not set +# CONFIG_ARM7TDMI is not set +# CONFIG_ARM720T is not set +# CONFIG_ARM920T is not set +# CONFIG_ARM922T is not set +# CONFIG_ARM926T is not set +# CONFIG_ARM10T is not set +# CONFIG_ARM1136JF_S is not set +# CONFIG_ARM1176JZ_S is not set +# CONFIG_ARM1176JZF_S is not set +# CONFIG_ARM_SA110 is not set +CONFIG_ARM_SA1100=y +# CONFIG_ARM_XSCALE is not set +# CONFIG_ARM_IWMMXT is not set +TARGET_SUBARCH="" + +# +# Using ELF file format +# +ARCH_ANY_ENDIAN=y +ARCH_LITTLE_ENDIAN=y +# ARCH_WANTS_BIG_ENDIAN is not set +ARCH_WANTS_LITTLE_ENDIAN=y +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +# UCLIBC_HAS_FPU is not set +UCLIBC_HAS_SOFT_FLOAT=y +DO_C99_MATH=y +KERNEL_HEADERS="/usr/include" +HAVE_DOT_CONFIG=y + diff --git a/meta/packages/uclibc/uclibc.inc b/meta/packages/uclibc/uclibc.inc index bae3f2d04..7fb8e5cf2 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" PROVIDES += "${@['virtual/libiconv', ''][bb.data.getVar('USE_NLS', d, 1) != 'yes']}" DEPENDS = "virtual/${TARGET_PREFIX}binutils \ virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" + +# Blackfin needs a wrapper around ld +DEPENDS_append_bfin = " elf2flt " + INHIBIT_DEFAULT_DEPS = "1" PARALLEL_MAKE = "" PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db" +# The last line (gdb and lib1) is for uclinux-uclibc builds uclibc_baselibs = "/lib/libcrypt*.so* /lib/libdl*.so \ /lib/libintl*.so* /lib/libm*.so \ /lib/libnsl*.so* /lib/libpthread*.so \ @@ -35,7 +40,9 @@ uclibc_baselibs = "/lib/libcrypt*.so* /lib/libdl*.so \ /lib/libuClibc*.so* /lib/ld*.so* \ /lib/libc*.so* /lib/libdl*.so* \ /lib/libm*.so* /lib/libutil*.so* \ - /lib/libpthread*.so* /lib/librt*.so*" + /lib/libpthread*.so* /lib/librt*.so* \ + /usr/lib/libc.gdb /usr/lib/libc /lib/lib1.so \ + " FILES_${PN} = "${sysconfdir} ${uclibc_baselibs} /sbin/ldconfig \ ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale" FILES_ldd = "${bindir}/ldd" @@ -128,7 +135,7 @@ do_configure() { sed -i -e '/CONFIG_ARM_EABI/d' ${S}/.config - if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then + if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then echo "CONFIG_ARM_EABI=y" >> ${S}/.config else 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 293a00ed5..f00a347aa 100644 --- a/meta/packages/uclibc/uclibc_0.9.29.bb +++ b/meta/packages/uclibc/uclibc_0.9.29.bb @@ -7,13 +7,17 @@ # on whether the base patches apply to the selected (SRCDATE) svn release. # UCLIBC_BASE ?= "0.9.29" -PR = "r3" +PR = "r7" require uclibc.inc PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" -SRC_URI += "file://uClibc.machine file://uClibc.distro" +SRC_URI += "file://uClibc.machine file://uClibc.distro \ + file://errno_values.h.patch;patch=1 \ + file://termios.h.patch;patch=1 \ + " + # mmap-unsigned-shift_bugid1303.patch # http://uclibc.org/lists/uclibc-cvs/2007-May/011360.html;patch=1" |