summaryrefslogtreecommitdiff
path: root/packages/uclibc
diff options
context:
space:
mode:
authorOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2008-08-21 09:49:03 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2008-08-21 09:49:03 +0000
commited006c03d260828b03f93b3f6840d1a4d2163d01 (patch)
tree08c374701b15478adf6bf4916b51caad44feef67 /packages/uclibc
parente818a5d0aa7022b0b4857add403e7953ed3534f7 (diff)
parent60de79c7bae656914aa42424a1bb9cd7f0f62047 (diff)
merge of '4c4e69889620b924d4a3277e83211f6f7f066c8c'
and '7fd15622321922163aab9fa955236c9a25de2e65'
Diffstat (limited to 'packages/uclibc')
-rw-r--r--packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch (renamed from packages/uclibc/files/arm_fix_alignment.patch)0
-rw-r--r--packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch34
-rw-r--r--packages/uclibc/uclibc-initial_nptl.bb35
-rw-r--r--packages/uclibc/uclibc-nptl/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-nptl/arm_fix_alignment.patch19
-rw-r--r--packages/uclibc/uclibc-nptl/uClibc.distro147
-rw-r--r--packages/uclibc/uclibc-nptl/uClibc.machine.armv5te70
-rw-r--r--packages/uclibc/uclibc-svn/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/arm/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/arm/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/arm/uClibc.config (renamed from packages/uclibc/uclibc-cvs/arm/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/arm_fix_alignment.patch19
-rw-r--r--packages/uclibc/uclibc-svn/armeb/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/dht-walnut/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/armeb/uClibc.config (renamed from packages/uclibc/uclibc-cvs/armeb/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/dht-walnut/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/efika/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/dht-walnut/uClibc.config (renamed from packages/uclibc/uclibc-cvs/dht-walnut/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/efika/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/i386/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/efika/uClibc.config (renamed from packages/uclibc/uclibc-cvs/efika/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/errno_values.h.patch (renamed from packages/uclibc/uclibc-cvs/errno_values.h.patch)0
-rw-r--r--packages/uclibc/uclibc-svn/error_print_progname.patch (renamed from packages/uclibc/uclibc-cvs/error_print_progname.patch)0
-rw-r--r--packages/uclibc/uclibc-svn/i386/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/i486/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/i386/uClibc.config (renamed from packages/uclibc/uclibc-cvs/i386/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/i486/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/i586/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/i486/uClibc.config (renamed from packages/uclibc/uclibc-cvs/i486/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/i586/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/i686/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/i586/uClibc.config (renamed from packages/uclibc/uclibc-cvs/i586/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/i686/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/i686/uClibc.config (renamed from packages/uclibc/uclibc-cvs/i686/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/ixp4xx/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/magicbox/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/ixp4xx/uClibc.distro (renamed from packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro)0
-rw-r--r--packages/uclibc/uclibc-svn/ixp4xx/uClibc.machine (renamed from packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine)0
-rw-r--r--packages/uclibc/uclibc-svn/magicbox/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/mipsel/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/magicbox/uClibc.config (renamed from packages/uclibc/uclibc-cvs/magicbox/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/mipsel/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/powerpc/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/mipsel/uClibc.config (renamed from packages/uclibc/uclibc-cvs/mipsel/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/powerpc/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/sh3/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/powerpc/uClibc.config (renamed from packages/uclibc/uclibc-cvs/powerpc/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/sh3/.mtn2git_empty (renamed from packages/uclibc/uclibc-cvs/sh4/.mtn2git_empty)0
-rw-r--r--packages/uclibc/uclibc-svn/sh3/uClibc.config (renamed from packages/uclibc/uclibc-cvs/sh3/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/sh4/.mtn2git_empty0
-rw-r--r--packages/uclibc/uclibc-svn/sh4/uClibc.config (renamed from packages/uclibc/uclibc-cvs/sh4/uClibc.config)0
-rw-r--r--packages/uclibc/uclibc-svn/thumb-asm-swi.patch (renamed from packages/uclibc/uclibc-cvs/thumb-asm-swi.patch)0
-rw-r--r--packages/uclibc/uclibc-svn/thumb-defined-arm-or-thumb.patch (renamed from packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch)0
-rw-r--r--packages/uclibc/uclibc-svn/thumb-mov-pc-bx.patch (renamed from packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch)0
-rw-r--r--packages/uclibc/uclibc_0.9.29.bb3
-rw-r--r--packages/uclibc/uclibc_nptl.bb35
-rw-r--r--packages/uclibc/uclibc_svn.bb8
46 files changed, 365 insertions, 5 deletions
diff --git a/packages/uclibc/files/arm_fix_alignment.patch b/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch
index 3a059021a7..3a059021a7 100644
--- a/packages/uclibc/files/arm_fix_alignment.patch
+++ b/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch
diff --git a/packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch b/packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch
new file mode 100644
index 0000000000..6f79c789d0
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.29/uclibc-use-fgnu89-inline.patch
@@ -0,0 +1,34 @@
+Source: http://www.nabble.com/-PATCH--uclibc-extern-inline-td14223616.html
+
+Description:
+
+Needed for uclibc-0.9.29 to compile with gcc 4.3.1
+
+You get this error without
+
+libc/libc_so.a(libc_pthread_init.oS): In function `testandset':
+libc_pthread_init.c:(.text+0x0): multiple definition of `testandset'
+libc/libc_so.a(forward.oS):forward.c:(.text+0x0): first defined here
+libc/libc_so.a(rpc_thread.oS): In function `testandset':
+rpc_thread.c:(.text+0x0): multiple definition of `testandset'
+libc/libc_so.a(forward.oS):forward.c:(.text+0x0): first defined here
+make[1]: *** [lib/libc.so] Error 1
+make: *** [lib/libc.so.0] Error 2
+
+
+---
+ Rules.mak | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: uClibc-0.9.29/Rules.mak
+===================================================================
+--- uClibc-0.9.29.orig/Rules.mak 2008-08-19 13:43:56.000000000 -0700
++++ uClibc-0.9.29/Rules.mak 2008-08-19 13:45:04.000000000 -0700
+@@ -402,6 +402,7 @@ CFLAGS += -DSTATIC
+ endif
+
+ CFLAGS += $(call check_gcc,-std=gnu99,)
++CFLAGS += $(call check_gcc,-fgnu89-inline,)
+
+ LDFLAGS_NOSTRIP:=$(CPU_LDFLAGS-y) -shared --warn-common --warn-once -z combreloc
+ # binutils-2.16.1 warns about ignored sections, 2.16.91.0.3 and newer are ok
diff --git a/packages/uclibc/uclibc-initial_nptl.bb b/packages/uclibc/uclibc-initial_nptl.bb
new file mode 100644
index 0000000000..3da8417e52
--- /dev/null
+++ b/packages/uclibc/uclibc-initial_nptl.bb
@@ -0,0 +1,35 @@
+SECTION = "base"
+require uclibc_nptl.bb
+
+DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+PACKAGES = ""
+
+do_stage() {
+ # Install initial headers into the cross dir
+ make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ install_headers V=1
+
+ ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
+
+ # This conflicts with the c++ version of this header
+ make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ lib/crt1.o lib/crti.o lib/crtn.o V=1
+
+ rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h
+
+ install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib
+
+ ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+ -o ${UCLIBC_STAGE_PREFIX}/lib/libc.so
+}
+
+do_install() {
+ :
+}
+
+do_compile () {
+ :
+}
diff --git a/packages/uclibc/uclibc-cvs/.mtn2git_empty b/packages/uclibc/uclibc-nptl/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/.mtn2git_empty
+++ b/packages/uclibc/uclibc-nptl/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-nptl/arm_fix_alignment.patch b/packages/uclibc/uclibc-nptl/arm_fix_alignment.patch
new file mode 100644
index 0000000000..982afe9a6e
--- /dev/null
+++ b/packages/uclibc/uclibc-nptl/arm_fix_alignment.patch
@@ -0,0 +1,19 @@
+ARMV5 can use STRD and LDRD access instructions but these accesses need to be
+8 byte aligned. The dynamic linker's malloc needs to match this so structures
+become 8 byte aligned to void unaligned accesses.
+
+RP - 14/02/2008
+
+Index: uClibc-nptl/ldso/ldso/arm/dl-sysdep.h
+===================================================================
+--- uClibc-nptl.orig/ldso/ldso/arm/dl-sysdep.h 2008-08-08 16:52:28.000000000 -0700
++++ uClibc-nptl/ldso/ldso/arm/dl-sysdep.h 2008-08-08 23:51:39.000000000 -0700
+@@ -18,6 +18,8 @@
+ GOT_BASE[1] = (unsigned long) MODULE; \
+ }
+
++#define DL_MALLOC_ALIGN 8 /* EABI needs 8 byte alignment for STRD LDRD*/
++
+ static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
+ {
+ unsigned long i,t,inc;
diff --git a/packages/uclibc/uclibc-nptl/uClibc.distro b/packages/uclibc/uclibc-nptl/uClibc.distro
new file mode 100644
index 0000000000..d51a29715a
--- /dev/null
+++ b/packages/uclibc/uclibc-nptl/uClibc.distro
@@ -0,0 +1,147 @@
+#
+# 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
+UCLIBC_HAS_THREADS_NATIVE=y
+# PTHREADS_DEBUG_SUPPORT is not set
+# LINUXTHREADS_OLD is not set
+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=y
+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=y
+
+#
+# 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/packages/uclibc/uclibc-nptl/uClibc.machine.armv5te b/packages/uclibc/uclibc-nptl/uClibc.machine.armv5te
new file mode 100644
index 0000000000..ec0385bc0f
--- /dev/null
+++ b/packages/uclibc/uclibc-nptl/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/packages/uclibc/uclibc-cvs/arm/.mtn2git_empty b/packages/uclibc/uclibc-svn/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/arm/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty b/packages/uclibc/uclibc-svn/arm/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/arm/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/arm/uClibc.config b/packages/uclibc/uclibc-svn/arm/uClibc.config
index 9460573cdd..9460573cdd 100644
--- a/packages/uclibc/uclibc-cvs/arm/uClibc.config
+++ b/packages/uclibc/uclibc-svn/arm/uClibc.config
diff --git a/packages/uclibc/uclibc-svn/arm_fix_alignment.patch b/packages/uclibc/uclibc-svn/arm_fix_alignment.patch
new file mode 100644
index 0000000000..982afe9a6e
--- /dev/null
+++ b/packages/uclibc/uclibc-svn/arm_fix_alignment.patch
@@ -0,0 +1,19 @@
+ARMV5 can use STRD and LDRD access instructions but these accesses need to be
+8 byte aligned. The dynamic linker's malloc needs to match this so structures
+become 8 byte aligned to void unaligned accesses.
+
+RP - 14/02/2008
+
+Index: uClibc-nptl/ldso/ldso/arm/dl-sysdep.h
+===================================================================
+--- uClibc-nptl.orig/ldso/ldso/arm/dl-sysdep.h 2008-08-08 16:52:28.000000000 -0700
++++ uClibc-nptl/ldso/ldso/arm/dl-sysdep.h 2008-08-08 23:51:39.000000000 -0700
+@@ -18,6 +18,8 @@
+ GOT_BASE[1] = (unsigned long) MODULE; \
+ }
+
++#define DL_MALLOC_ALIGN 8 /* EABI needs 8 byte alignment for STRD LDRD*/
++
+ static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
+ {
+ unsigned long i,t,inc;
diff --git a/packages/uclibc/uclibc-cvs/dht-walnut/.mtn2git_empty b/packages/uclibc/uclibc-svn/armeb/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/dht-walnut/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/armeb/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/armeb/uClibc.config b/packages/uclibc/uclibc-svn/armeb/uClibc.config
index 5f9fe16afb..5f9fe16afb 100644
--- a/packages/uclibc/uclibc-cvs/armeb/uClibc.config
+++ b/packages/uclibc/uclibc-svn/armeb/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/efika/.mtn2git_empty b/packages/uclibc/uclibc-svn/dht-walnut/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/efika/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/dht-walnut/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/dht-walnut/uClibc.config b/packages/uclibc/uclibc-svn/dht-walnut/uClibc.config
index 6e606f6be3..6e606f6be3 100644
--- a/packages/uclibc/uclibc-cvs/dht-walnut/uClibc.config
+++ b/packages/uclibc/uclibc-svn/dht-walnut/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/i386/.mtn2git_empty b/packages/uclibc/uclibc-svn/efika/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/i386/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/efika/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/efika/uClibc.config b/packages/uclibc/uclibc-svn/efika/uClibc.config
index 23b221d662..23b221d662 100644
--- a/packages/uclibc/uclibc-cvs/efika/uClibc.config
+++ b/packages/uclibc/uclibc-svn/efika/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/errno_values.h.patch b/packages/uclibc/uclibc-svn/errno_values.h.patch
index a1e39c181b..a1e39c181b 100644
--- a/packages/uclibc/uclibc-cvs/errno_values.h.patch
+++ b/packages/uclibc/uclibc-svn/errno_values.h.patch
diff --git a/packages/uclibc/uclibc-cvs/error_print_progname.patch b/packages/uclibc/uclibc-svn/error_print_progname.patch
index 6c10ec6b3c..6c10ec6b3c 100644
--- a/packages/uclibc/uclibc-cvs/error_print_progname.patch
+++ b/packages/uclibc/uclibc-svn/error_print_progname.patch
diff --git a/packages/uclibc/uclibc-cvs/i486/.mtn2git_empty b/packages/uclibc/uclibc-svn/i386/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/i486/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/i386/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/i386/uClibc.config b/packages/uclibc/uclibc-svn/i386/uClibc.config
index bc6e72debf..bc6e72debf 100644
--- a/packages/uclibc/uclibc-cvs/i386/uClibc.config
+++ b/packages/uclibc/uclibc-svn/i386/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/i586/.mtn2git_empty b/packages/uclibc/uclibc-svn/i486/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/i586/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/i486/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/i486/uClibc.config b/packages/uclibc/uclibc-svn/i486/uClibc.config
index 896d65ab20..896d65ab20 100644
--- a/packages/uclibc/uclibc-cvs/i486/uClibc.config
+++ b/packages/uclibc/uclibc-svn/i486/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/i686/.mtn2git_empty b/packages/uclibc/uclibc-svn/i586/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/i686/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/i586/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/i586/uClibc.config b/packages/uclibc/uclibc-svn/i586/uClibc.config
index d1bf538902..d1bf538902 100644
--- a/packages/uclibc/uclibc-cvs/i586/uClibc.config
+++ b/packages/uclibc/uclibc-svn/i586/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty b/packages/uclibc/uclibc-svn/i686/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/i686/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/i686/uClibc.config b/packages/uclibc/uclibc-svn/i686/uClibc.config
index bc6e72debf..bc6e72debf 100644
--- a/packages/uclibc/uclibc-cvs/i686/uClibc.config
+++ b/packages/uclibc/uclibc-svn/i686/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/magicbox/.mtn2git_empty b/packages/uclibc/uclibc-svn/ixp4xx/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/magicbox/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/ixp4xx/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro b/packages/uclibc/uclibc-svn/ixp4xx/uClibc.distro
index 7d54119f39..7d54119f39 100644
--- a/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro
+++ b/packages/uclibc/uclibc-svn/ixp4xx/uClibc.distro
diff --git a/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine b/packages/uclibc/uclibc-svn/ixp4xx/uClibc.machine
index 77e53bc1a8..77e53bc1a8 100644
--- a/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine
+++ b/packages/uclibc/uclibc-svn/ixp4xx/uClibc.machine
diff --git a/packages/uclibc/uclibc-cvs/mipsel/.mtn2git_empty b/packages/uclibc/uclibc-svn/magicbox/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/mipsel/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/magicbox/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/magicbox/uClibc.config b/packages/uclibc/uclibc-svn/magicbox/uClibc.config
index 6542d49fd0..6542d49fd0 100644
--- a/packages/uclibc/uclibc-cvs/magicbox/uClibc.config
+++ b/packages/uclibc/uclibc-svn/magicbox/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/powerpc/.mtn2git_empty b/packages/uclibc/uclibc-svn/mipsel/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/powerpc/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/mipsel/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/mipsel/uClibc.config b/packages/uclibc/uclibc-svn/mipsel/uClibc.config
index 4389c9b8c2..4389c9b8c2 100644
--- a/packages/uclibc/uclibc-cvs/mipsel/uClibc.config
+++ b/packages/uclibc/uclibc-svn/mipsel/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/sh3/.mtn2git_empty b/packages/uclibc/uclibc-svn/powerpc/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/sh3/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/powerpc/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/powerpc/uClibc.config b/packages/uclibc/uclibc-svn/powerpc/uClibc.config
index 8a12c10961..8a12c10961 100644
--- a/packages/uclibc/uclibc-cvs/powerpc/uClibc.config
+++ b/packages/uclibc/uclibc-svn/powerpc/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/sh4/.mtn2git_empty b/packages/uclibc/uclibc-svn/sh3/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/uclibc/uclibc-cvs/sh4/.mtn2git_empty
+++ b/packages/uclibc/uclibc-svn/sh3/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/sh3/uClibc.config b/packages/uclibc/uclibc-svn/sh3/uClibc.config
index 1e2710715f..1e2710715f 100644
--- a/packages/uclibc/uclibc-cvs/sh3/uClibc.config
+++ b/packages/uclibc/uclibc-svn/sh3/uClibc.config
diff --git a/packages/uclibc/uclibc-svn/sh4/.mtn2git_empty b/packages/uclibc/uclibc-svn/sh4/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/uclibc/uclibc-svn/sh4/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/sh4/uClibc.config b/packages/uclibc/uclibc-svn/sh4/uClibc.config
index 0b9a3c48b2..0b9a3c48b2 100644
--- a/packages/uclibc/uclibc-cvs/sh4/uClibc.config
+++ b/packages/uclibc/uclibc-svn/sh4/uClibc.config
diff --git a/packages/uclibc/uclibc-cvs/thumb-asm-swi.patch b/packages/uclibc/uclibc-svn/thumb-asm-swi.patch
index d09e40b7a3..d09e40b7a3 100644
--- a/packages/uclibc/uclibc-cvs/thumb-asm-swi.patch
+++ b/packages/uclibc/uclibc-svn/thumb-asm-swi.patch
diff --git a/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch b/packages/uclibc/uclibc-svn/thumb-defined-arm-or-thumb.patch
index 6b73301bf7..6b73301bf7 100644
--- a/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch
+++ b/packages/uclibc/uclibc-svn/thumb-defined-arm-or-thumb.patch
diff --git a/packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch b/packages/uclibc/uclibc-svn/thumb-mov-pc-bx.patch
index 3d493514f8..3d493514f8 100644
--- a/packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch
+++ b/packages/uclibc/uclibc-svn/thumb-mov-pc-bx.patch
diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb
index fc06c28f67..9c716b6237 100644
--- a/packages/uclibc/uclibc_0.9.29.bb
+++ b/packages/uclibc/uclibc_0.9.29.bb
@@ -7,7 +7,7 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.29"
-PR = "r22"
+PR = "r24"
DEFAULT_PREFERENCE = "1"
require uclibc.inc
@@ -30,6 +30,7 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \
file://uClibc-0.9.29-nonposix_bashisms.patch;patch=1 \
file://arm_fix_alignment.patch;patch=1 \
file://uclibc-arm-ftruncate64.patch;patch=1 \
+ file://uclibc-use-fgnu89-inline.patch;patch=1 \
"
#recent versions uclibc require real kernel headers
diff --git a/packages/uclibc/uclibc_nptl.bb b/packages/uclibc/uclibc_nptl.bb
new file mode 100644
index 0000000000..6d6fc361c6
--- /dev/null
+++ b/packages/uclibc/uclibc_nptl.bb
@@ -0,0 +1,35 @@
+# UCLIBC_BASE should be the latest released revision of uclibc (that way
+# the config files will typically be correct!) uclibc-svn takes precedence
+# over uclibc-${UCLIBC_BASE}, if a config file in uclibc-svn is out of date
+# try removing it
+#
+# UCLIBC_BASE can be set in a distro file, but whether this works depends
+# on whether the base patches apply to the selected (SRCDATE) svn release.
+#
+UCLIBC_BASE ?= "0.9.29"
+PV = "${UCLIBC_BASE}+svnr${SRCREV}"
+PR = "r0"
+#DEFAULT_PREFERENCE = "2"
+#DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
+# precedence.
+
+require uclibc.inc
+
+PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
+
+#recent versions uclibc require real kernel headers
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-nptl', '${FILE_DIRNAME}/uclibc-${UCLIBC_BASE}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+#as stated above, uclibc needs real kernel-headers
+#however: we can't depend on virtual/kernel when nptl hits due to depends deadlocking ....
+KERNEL_SOURCE = "${CROSS_DIR}/${TARGET_SYS}"
+
+SRC_URI += "svn://uclibc.org/branches/;module=uClibc-nptl \
+ file://uClibc.machine \
+ file://uClibc.distro \
+ file://uclibc-arm-ftruncate64.patch;patch=1 \
+ file://arm_fix_alignment.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/uClibc-nptl"
diff --git a/packages/uclibc/uclibc_svn.bb b/packages/uclibc/uclibc_svn.bb
index b7b8960952..5dfa1b243c 100644
--- a/packages/uclibc/uclibc_svn.bb
+++ b/packages/uclibc/uclibc_svn.bb
@@ -1,6 +1,6 @@
# UCLIBC_BASE should be the latest released revision of uclibc (that way
-# the config files will typically be correct!) uclibc-cvs takes precedence
-# over uclibc-${UCLIBC_BASE}, if a config file in uclibc-cvs is out of date
+# the config files will typically be correct!) uclibc-svn takes precedence
+# over uclibc-${UCLIBC_BASE}, if a config file in uclibc-snv is out of date
# try removing it
#
# UCLIBC_BASE can be set in a distro file, but whether this works depends
@@ -8,7 +8,7 @@
#
UCLIBC_BASE ?= "0.9.29"
PV = "${UCLIBC_BASE}+svnr${SRCREV}"
-PR = "r12"
+PR = "r13"
#DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
# precedence.
@@ -18,7 +18,7 @@ PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
#recent versions uclibc require real kernel headers
PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-cvs', '${FILE_DIRNAME}/uclibc-${UCLIBC_BASE}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-svn', '${FILE_DIRNAME}/uclibc-${UCLIBC_BASE}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
#as stated above, uclibc needs real kernel-headers
#however: we can't depend on virtual/kernel when nptl hits due to depends deadlocking ....