aboutsummaryrefslogtreecommitdiffstats
path: root/packages/uclibc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2008-08-21 09:09:38 +0000
committerKhem Raj <raj.khem@gmail.com>2008-08-21 09:09:38 +0000
commit7b76801adbc8f161fcb5a96b07e7bded66ad6e4e (patch)
tree5fca58455ad0ccc159c874f9a962cbb9ad993000 /packages/uclibc
parent3a56781ae85676880a7aaebf2fa389c0b719db6b (diff)
downloadopenembedded-7b76801adbc8f161fcb5a96b07e7bded66ad6e4e.tar.gz
This patch Does following
1. Adds new recipe for uclibc nptl build. (currently only arm is in) 2. Renames uclibc-cvs to uclibc-svn 3. Revs up the sane rev of svn recipes to tested one. 4. Makes arm_fix_alignment.patch in two versions one for svn and one for 0.9.29 unfortunately changes in svn does not let us apply the 0.9.29 patch on svn cleanly. -Khem
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-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.bb2
-rw-r--r--packages/uclibc/uclibc_nptl.bb35
-rw-r--r--packages/uclibc/uclibc_svn.bb8
45 files changed, 330 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-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 41af861fcf..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 = "r23"
+PR = "r24"
DEFAULT_PREFERENCE = "1"
require uclibc.inc
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 ....