summaryrefslogtreecommitdiff
path: root/packages/uclibc/uclibc-cvs
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2006-01-21 00:07:41 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-01-21 00:07:41 +0000
commit8c9e9a740a81d8433c64242d499768972f31bbdd (patch)
tree57d5654d8db2e2c36289efd36493f6925b1d8cad /packages/uclibc/uclibc-cvs
parentfff27a537eb7305d05e8052593a6359a4f0b0b74 (diff)
uclibc: updated thumb patch set (compiles, doesn't work) in svn
- this updates the patch set to svn 20060120, the patches now apply but the result is non-functional (completely).
Diffstat (limited to 'packages/uclibc/uclibc-cvs')
-rw-r--r--packages/uclibc/uclibc-cvs/arm/uClibc.config52
-rw-r--r--packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty0
-rw-r--r--packages/uclibc/uclibc-cvs/armeb/uClibc.config182
-rw-r--r--packages/uclibc/uclibc-cvs/i386/uClibc.config54
-rw-r--r--packages/uclibc/uclibc-cvs/i686/uClibc.config54
-rw-r--r--packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty0
-rw-r--r--packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro135
-rw-r--r--packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine8
-rw-r--r--packages/uclibc/uclibc-cvs/mipsel/uClibc.config55
-rw-r--r--packages/uclibc/uclibc-cvs/sh3/uClibc.config55
-rw-r--r--packages/uclibc/uclibc-cvs/sh4/uClibc.config74
-rw-r--r--packages/uclibc/uclibc-cvs/thumb-asm-swi.patch154
-rw-r--r--packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch12
-rw-r--r--packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch178
14 files changed, 885 insertions, 128 deletions
diff --git a/packages/uclibc/uclibc-cvs/arm/uClibc.config b/packages/uclibc/uclibc-cvs/arm/uClibc.config
index a20c9a8b63..fbbffe5a8f 100644
--- a/packages/uclibc/uclibc-cvs/arm/uClibc.config
+++ b/packages/uclibc/uclibc-cvs/arm/uClibc.config
@@ -8,6 +8,7 @@ TARGET_arm=y
# 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_m68k is not set
@@ -17,16 +18,18 @@ TARGET_arm=y
# 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_x86_64 is not set
#
# Target Architecture Features and Options
#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
TARGET_ARCH="arm"
ARCH_SUPPORTS_BIG_ENDIAN=y
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+FORCE_OPTIONS_FOR_ARCH=y
# CONFIG_GENERIC_ARM is not set
# CONFIG_ARM610 is not set
# CONFIG_ARM710 is not set
@@ -34,6 +37,7 @@ ARCH_SUPPORTS_BIG_ENDIAN=y
# CONFIG_ARM920T is not set
# CONFIG_ARM922T is not set
# CONFIG_ARM926T is not set
+# CONFIG_ARM1136JF_S is not set
# CONFIG_ARM_SA110 is not set
CONFIG_ARM_SA1100=y
# CONFIG_ARM_XSCALE is not set
@@ -42,12 +46,10 @@ ARCH_LITTLE_ENDIAN=y
# ARCH_HAS_NO_MMU is not set
ARCH_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
-# HAS_FPU is not set
-UCLIBC_HAS_SOFT_FLOAT=y
+UCLIBC_HAS_FPU=y
DO_C99_MATH=y
-WARNINGS="-Wall"
+# UCLIBC_HAS_FENV is not set
KERNEL_SOURCE="<path/to/kernel/sources>"
-C_SYMBOL_PREFIX=""
HAVE_DOT_CONFIG=y
#
@@ -56,25 +58,30 @@ HAVE_DOT_CONFIG=y
# HAVE_NO_PIC is not set
DOPIC=y
# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
+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=y
+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
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
@@ -89,6 +96,8 @@ UCLIBC_TZ_FILE_PATH="/etc/TZ"
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
#
# String and Stdio Support
@@ -101,13 +110,8 @@ UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y
-UCLIBC_HAS_XLOCALE=y
+# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
@@ -121,6 +125,7 @@ UCLIBC_HAS_STDIO_BUFSIZ_256=y
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
@@ -138,6 +143,9 @@ UCLIBC_HAS_GNU_GETOPT=y
# Big and Tall
#
UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
@@ -145,20 +153,30 @@ UCLIBC_HAS_GLOB=y
#
# Library Installation Options
#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
+SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="//usr"
#
-# uClibc security related options
+# Security options
#
-# UCLIBC_SECURITY is not set
+# 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=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty b/packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/armeb/uClibc.config b/packages/uclibc/uclibc-cvs/armeb/uClibc.config
new file mode 100644
index 0000000000..5f9fe16afb
--- /dev/null
+++ b/packages/uclibc/uclibc-cvs/armeb/uClibc.config
@@ -0,0 +1,182 @@
+#
+# Automatically generated make config: don't edit
+#
+# 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_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_x86_64 is not set
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="arm"
+ARCH_SUPPORTS_BIG_ENDIAN=y
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+FORCE_OPTIONS_FOR_ARCH=y
+CONFIG_GENERIC_ARM=y
+# CONFIG_ARM610 is not set
+# CONFIG_ARM710 is not set
+# CONFIG_ARM720T is not set
+# CONFIG_ARM920T is not set
+# CONFIG_ARM922T is not set
+# CONFIG_ARM926T is not set
+# CONFIG_ARM1136JF_S is not set
+# CONFIG_ARM_SA110 is not set
+# CONFIG_ARM_SA1100 is not set
+# CONFIG_ARM_XSCALE is not set
+# ARCH_LITTLE_ENDIAN is not set
+ARCH_BIG_ENDIAN=y
+# ARCH_HAS_NO_MMU is not set
+ARCH_HAS_MMU=y
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+# UCLIBC_HAS_FENV is not set
+KERNEL_SOURCE="<path/to/kernel/sources>"
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+# HAVE_NO_PIC is not set
+DOPIC=y
+# 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
+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"
+
+#
+# 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
+
+#
+# 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
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_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=""
+# DODEBUG is not set
+# DODEBUG_PT is not set
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
+# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/i386/uClibc.config b/packages/uclibc/uclibc-cvs/i386/uClibc.config
index 90d5ce1fd7..bc6e72debf 100644
--- a/packages/uclibc/uclibc-cvs/i386/uClibc.config
+++ b/packages/uclibc/uclibc-cvs/i386/uClibc.config
@@ -8,6 +8,7 @@
# TARGET_e1 is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
+# TARGET_hppa is not set
TARGET_i386=y
# TARGET_i960 is not set
# TARGET_m68k is not set
@@ -17,15 +18,18 @@ TARGET_i386=y
# 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_x86_64 is not set
#
# Target Architecture Features and Options
#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
TARGET_ARCH="i386"
+# ARCH_SUPPORTS_BIG_ENDIAN is not set
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+FORCE_OPTIONS_FOR_ARCH=y
# CONFIG_GENERIC_386 is not set
# CONFIG_386 is not set
# CONFIG_486 is not set
@@ -48,11 +52,10 @@ ARCH_LITTLE_ENDIAN=y
# ARCH_HAS_NO_MMU is not set
ARCH_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
+UCLIBC_HAS_FPU=y
DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/home/kergoth/code/user/oe/build-colinux/tmp/cross/i686-linux-uclibc/include"
-C_SYMBOL_PREFIX=""
+# UCLIBC_HAS_FENV is not set
+KERNEL_SOURCE="<path/to/kernel/sources>"
HAVE_DOT_CONFIG=y
#
@@ -61,26 +64,30 @@ HAVE_DOT_CONFIG=y
# HAVE_NO_PIC is not set
DOPIC=y
# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
+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
-# UCLIBC_STATIC_LDCONFIG is not set
# MALLOC is not set
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
MALLOC_GLIBC_COMPAT=y
UCLIBC_DYNAMIC_ATEXIT=y
+COMPAT_ATEXIT=y
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
@@ -95,6 +102,8 @@ UCLIBC_TZ_FILE_PATH="/etc/TZ"
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
#
# String and Stdio Support
@@ -107,13 +116,8 @@ UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
+# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
@@ -127,6 +131,7 @@ UCLIBC_HAS_STDIO_BUFSIZ_256=y
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
@@ -144,6 +149,9 @@ UCLIBC_HAS_GNU_GETOPT=y
# Big and Tall
#
UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
@@ -151,20 +159,30 @@ UCLIBC_HAS_GLOB=y
#
# Library Installation Options
#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
+SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="//usr"
#
-# uClibc security related options
+# Security options
#
-# UCLIBC_SECURITY is not set
+# 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=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/i686/uClibc.config b/packages/uclibc/uclibc-cvs/i686/uClibc.config
index 90d5ce1fd7..bc6e72debf 100644
--- a/packages/uclibc/uclibc-cvs/i686/uClibc.config
+++ b/packages/uclibc/uclibc-cvs/i686/uClibc.config
@@ -8,6 +8,7 @@
# TARGET_e1 is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
+# TARGET_hppa is not set
TARGET_i386=y
# TARGET_i960 is not set
# TARGET_m68k is not set
@@ -17,15 +18,18 @@ TARGET_i386=y
# 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_x86_64 is not set
#
# Target Architecture Features and Options
#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
TARGET_ARCH="i386"
+# ARCH_SUPPORTS_BIG_ENDIAN is not set
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+FORCE_OPTIONS_FOR_ARCH=y
# CONFIG_GENERIC_386 is not set
# CONFIG_386 is not set
# CONFIG_486 is not set
@@ -48,11 +52,10 @@ ARCH_LITTLE_ENDIAN=y
# ARCH_HAS_NO_MMU is not set
ARCH_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
+UCLIBC_HAS_FPU=y
DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/home/kergoth/code/user/oe/build-colinux/tmp/cross/i686-linux-uclibc/include"
-C_SYMBOL_PREFIX=""
+# UCLIBC_HAS_FENV is not set
+KERNEL_SOURCE="<path/to/kernel/sources>"
HAVE_DOT_CONFIG=y
#
@@ -61,26 +64,30 @@ HAVE_DOT_CONFIG=y
# HAVE_NO_PIC is not set
DOPIC=y
# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
+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
-# UCLIBC_STATIC_LDCONFIG is not set
# MALLOC is not set
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
MALLOC_GLIBC_COMPAT=y
UCLIBC_DYNAMIC_ATEXIT=y
+COMPAT_ATEXIT=y
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
@@ -95,6 +102,8 @@ UCLIBC_TZ_FILE_PATH="/etc/TZ"
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
#
# String and Stdio Support
@@ -107,13 +116,8 @@ UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
+# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
@@ -127,6 +131,7 @@ UCLIBC_HAS_STDIO_BUFSIZ_256=y
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
@@ -144,6 +149,9 @@ UCLIBC_HAS_GNU_GETOPT=y
# Big and Tall
#
UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
@@ -151,20 +159,30 @@ UCLIBC_HAS_GLOB=y
#
# Library Installation Options
#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
+SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="//usr"
#
-# uClibc security related options
+# Security options
#
-# UCLIBC_SECURITY is not set
+# 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=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty b/packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro b/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro
new file mode 100644
index 0000000000..7d54119f39
--- /dev/null
+++ b/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro
@@ -0,0 +1,135 @@
+# Contains only the distro specific parts of the uClibc.config -
+# these are appended to the machine config to override the settings.
+# Just copy everything from General Library Settings on into this
+# file plus the following three floating point config options:
+UCLIBC_HAS_FLOATS=y
+DO_C99_MATH=y
+UCLIBC_HAS_FENV=y
+#
+# General Library Settings
+#
+# HAVE_NO_PIC is not set
+DOPIC=y
+# 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
+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"
+
+#
+# Networking Support
+#
+UCLIBC_HAS_IPV6=y
+UCLIBC_HAS_RPC=y
+UCLIBC_HAS_FULL_RPC=y
+UCLIBC_HAS_REENTRANT_RPC=y
+# UCLIBC_USE_NETLINK is not set
+
+#
+# String and Stdio Support
+#
+# UCLIBC_HAS_STRING_GENERIC_OPT is not set
+# UCLIBC_HAS_STRING_ARCH_OPT is not set
+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
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
+# UCLIBC_HAS_WORDEXP is not set
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_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=""
+# DODEBUG is not set
+# DODEBUG_PT is not set
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
+# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine b/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine
new file mode 100644
index 0000000000..77e53bc1a8
--- /dev/null
+++ b/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine
@@ -0,0 +1,8 @@
+# IXP4XX specific machine overrides.
+#
+# IXP4XX can be arm or armeb - the ARCH (arm,armeb) decides
+# this, IXP4XX is always XScale - this file enfoces this.
+#
+CONFIG_ARM_XSCALE=y
+ARCH_HAS_MMU=y
+# UCLIBC_HAS_FPU is not set
diff --git a/packages/uclibc/uclibc-cvs/mipsel/uClibc.config b/packages/uclibc/uclibc-cvs/mipsel/uClibc.config
index b71ae46456..4389c9b8c2 100644
--- a/packages/uclibc/uclibc-cvs/mipsel/uClibc.config
+++ b/packages/uclibc/uclibc-cvs/mipsel/uClibc.config
@@ -8,6 +8,7 @@
# 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_m68k is not set
@@ -17,17 +18,19 @@ TARGET_mips=y
# 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_x86_64 is not set
#
# Target Architecture Features and Options
#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
TARGET_ARCH="mips"
-ARCH_CFLAGS="-mno-split-addresses"
ARCH_SUPPORTS_BIG_ENDIAN=y
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+FORCE_OPTIONS_FOR_ARCH=y
+ARCH_CFLAGS="-mno-split-addresses"
# CONFIG_MIPS_ISA_1 is not set
# CONFIG_MIPS_ISA_2 is not set
# CONFIG_MIPS_ISA_3 is not set
@@ -39,12 +42,10 @@ ARCH_LITTLE_ENDIAN=y
# ARCH_HAS_NO_MMU is not set
ARCH_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
-# HAS_FPU is not set
-UCLIBC_HAS_SOFT_FLOAT=y
+UCLIBC_HAS_FPU=y
DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/home/kergoth/code/build-wrt/tmp/cross/mipsel-linux-uclibc/include"
-C_SYMBOL_PREFIX=""
+# UCLIBC_HAS_FENV is not set
+KERNEL_SOURCE="<path/to/kernel/sources>"
HAVE_DOT_CONFIG=y
#
@@ -53,25 +54,30 @@ HAVE_DOT_CONFIG=y
# HAVE_NO_PIC is not set
DOPIC=y
# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
+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=y
+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
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
@@ -86,6 +92,8 @@ UCLIBC_TZ_FILE_PATH="/etc/TZ"
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
#
# String and Stdio Support
@@ -98,13 +106,8 @@ UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
+# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
@@ -118,6 +121,7 @@ UCLIBC_HAS_STDIO_BUFSIZ_256=y
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
@@ -135,6 +139,9 @@ UCLIBC_HAS_GNU_GETOPT=y
# Big and Tall
#
UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
@@ -142,20 +149,30 @@ UCLIBC_HAS_GLOB=y
#
# Library Installation Options
#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
+SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="//usr"
#
-# uClibc security related options
+# Security options
#
-# UCLIBC_SECURITY is not set
+# 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=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/sh3/uClibc.config b/packages/uclibc/uclibc-cvs/sh3/uClibc.config
index b557506b9b..1e2710715f 100644
--- a/packages/uclibc/uclibc-cvs/sh3/uClibc.config
+++ b/packages/uclibc/uclibc-cvs/sh3/uClibc.config
@@ -8,6 +8,7 @@
# 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_m68k is not set
@@ -17,31 +18,31 @@
# TARGET_nios2 is not set
# TARGET_powerpc is not set
TARGET_sh=y
+# TARGET_sh64 is not set
# TARGET_sparc is not set
# TARGET_v850 is not set
+# TARGET_x86_64 is not set
#
# Target Architecture Features and Options
#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
TARGET_ARCH="sh"
ARCH_SUPPORTS_BIG_ENDIAN=y
-HAVE_DOT_HIDDEN=y
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+FORCE_OPTIONS_FOR_ARCH=y
+# CONFIG_SH2A is not set
# CONFIG_SH2 is not set
CONFIG_SH3=y
# CONFIG_SH4 is not set
-# CONFIG_SH5 is not set
ARCH_LITTLE_ENDIAN=y
# ARCH_BIG_ENDIAN is not set
# ARCH_HAS_NO_MMU is not set
ARCH_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
+UCLIBC_HAS_FPU=y
DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/path/to/kernel/sources"
-C_SYMBOL_PREFIX=""
+# UCLIBC_HAS_FENV is not set
+KERNEL_SOURCE="<path/to/kernel/sources>"
HAVE_DOT_CONFIG=y
#
@@ -50,26 +51,30 @@ HAVE_DOT_CONFIG=y
# HAVE_NO_PIC is not set
DOPIC=y
# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
+HAVE_SHARED=y
FORCE_SHAREABLE_TEXT_SEGMENTS=y
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
-# UCLIBC_STATIC_LDCONFIG is not set
# MALLOC is not set
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
MALLOC_GLIBC_COMPAT=y
UCLIBC_DYNAMIC_ATEXIT=y
+COMPAT_ATEXIT=y
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
@@ -84,6 +89,8 @@ UCLIBC_TZ_FILE_PATH="/etc/TZ"
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
#
# String and Stdio Support
@@ -96,13 +103,8 @@ UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
+# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
@@ -116,6 +118,7 @@ UCLIBC_HAS_STDIO_BUFSIZ_256=y
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
@@ -133,6 +136,9 @@ UCLIBC_HAS_GNU_GETOPT=y
# Big and Tall
#
UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
@@ -140,20 +146,29 @@ UCLIBC_HAS_GLOB=y
#
# Library Installation Options
#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
+SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="//usr"
#
-# uClibc security related options
+# Security options
#
-# UCLIBC_SECURITY 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=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/sh4/uClibc.config b/packages/uclibc/uclibc-cvs/sh4/uClibc.config
index a80f4dcbe1..0b9a3c48b2 100644
--- a/packages/uclibc/uclibc-cvs/sh4/uClibc.config
+++ b/packages/uclibc/uclibc-cvs/sh4/uClibc.config
@@ -3,10 +3,12 @@
#
# TARGET_alpha is not set
# TARGET_arm is not set
+# 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_m68k is not set
@@ -16,41 +18,31 @@
# TARGET_nios2 is not set
# TARGET_powerpc is not set
TARGET_sh=y
+# TARGET_sh64 is not set
# TARGET_sparc is not set
# TARGET_v850 is not set
+# TARGET_x86_64 is not set
#
# Target Architecture Features and Options
#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
TARGET_ARCH="sh"
ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-# CONFIG_ARM_XSCALE is not set
-HAVE_DOT_HIDDEN=y
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+FORCE_OPTIONS_FOR_ARCH=y
+# CONFIG_SH2A is not set
# CONFIG_SH2 is not set
# CONFIG_SH3 is not set
CONFIG_SH4=y
-# CONFIG_SH5 is not set
ARCH_LITTLE_ENDIAN=y
# ARCH_BIG_ENDIAN is not set
# ARCH_HAS_NO_MMU is not set
ARCH_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
+UCLIBC_HAS_FPU=y
DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/path/to/kernel/sources"
-C_SYMBOL_PREFIX=""
+# UCLIBC_HAS_FENV is not set
+KERNEL_SOURCE="<path/to/kernel/sources>"
HAVE_DOT_CONFIG=y
#
@@ -59,24 +51,30 @@ HAVE_DOT_CONFIG=y
# HAVE_NO_PIC is not set
DOPIC=y
# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
+HAVE_SHARED=y
FORCE_SHAREABLE_TEXT_SEGMENTS=y
-# UCLIBC_PIE_SUPPORT 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=y
+LDSO_RUNPATH=y
UCLIBC_CTOR_DTOR=y
-# UCLIBC_PROPOLICE is not set
# 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
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
@@ -91,23 +89,22 @@ UCLIBC_TZ_FILE_PATH="/etc/TZ"
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
#
# 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=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
+# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
@@ -121,6 +118,7 @@ UCLIBC_HAS_STDIO_BUFSIZ_256=y
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
@@ -132,13 +130,15 @@ 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_GETTEXT_AWARENESS=y
UCLIBC_HAS_GNU_GETOPT=y
#
# Big and Tall
#
UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
@@ -146,15 +146,29 @@ UCLIBC_HAS_GLOB=y
#
# Library Installation Options
#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
+SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="//usr"
#
+# Security options
+#
+# 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=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
+# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc-cvs/thumb-asm-swi.patch b/packages/uclibc/uclibc-cvs/thumb-asm-swi.patch
new file mode 100644
index 0000000000..d09e40b7a3
--- /dev/null
+++ b/packages/uclibc/uclibc-cvs/thumb-asm-swi.patch
@@ -0,0 +1,154 @@
+# WARNING: nasty hack. Because sysnum.h produces thumb syscall
+# numbers when compiled in thumb mode the arm assembler (which is arm
+# even in thumb mode) needs to write the OS syscall base back into
+# the swi calls. This is done here just by orring in the correct
+# value. This is a hack - it might be better to add a define to
+# sysnum.h to force it to output arm (not thumb) values on demand -
+# but this hack is fairly safe (rmk would have to change the syscall
+# base, this seems unlikely).
+#
+# The patch also fixes up the .align directives to '2' (i.e. a multiple
+# of 4) not '4' (a multiple of 16 - apparently an error since it seems
+# to be unnecessary, there is no advantage here in cache line alignment).
+diff -u uClibc-0.9.28/libc/sysdeps/linux/arm/orig/__longjmp.S uClibc-0.9.28/libc/sysdeps/linux/arm/__longjmp.S
+--- uClibc-0.9.28/libc/sysdeps/linux/arm/orig/__longjmp.S 2005-09-18 18:41:36.870986621 -0700
++++ uClibc-0.9.28/libc/sysdeps/linux/arm/__longjmp.S 2005-09-18 19:01:26.741860474 -0700
+@@ -25,7 +25,7 @@
+
+ .global __longjmp
+ .type __longjmp,%function
+-.align 4
++.align 2
+ __longjmp:
+ mov ip, r0 /* save jmp_buf pointer */
+
+diff -u uClibc-0.9.28/libc/sysdeps/linux/arm/orig/bsd-_setjmp.S uClibc-0.9.28/libc/sysdeps/linux/arm/bsd-_setjmp.S
+--- uClibc-0.9.28/libc/sysdeps/linux/arm/orig/bsd-_setjmp.S 2005-09-18 18:41:36.870986621 -0700
++++ uClibc-0.9.28/libc/sysdeps/linux/arm/bsd-_setjmp.S 2005-09-18 19:01:31.982190228 -0700
+@@ -27,7 +27,7 @@
+
+ .global _setjmp
+ .type _setjmp,%function
+-.align 4
++.align 2
+ _setjmp:
+ mov r1, #0
+ #ifdef __PIC__
+diff -u uClibc-0.9.28/libc/sysdeps/linux/arm/orig/bsd-setjmp.S uClibc-0.9.28/libc/sysdeps/linux/arm/bsd-setjmp.S
+--- uClibc-0.9.28/libc/sysdeps/linux/arm/orig/bsd-setjmp.S 2005-09-18 18:41:36.870986621 -0700
++++ uClibc-0.9.28/libc/sysdeps/linux/arm/bsd-setjmp.S 2005-09-18 19:01:40.166705247 -0700
+@@ -27,7 +27,7 @@
+
+ .global setjmp
+ .type setjmp,%function
+-.align 4
++.align 2
+ setjmp:
+ mov r1, #1
+ #ifdef __PIC__
+diff -u uClibc/libc/sysdeps/linux/arm/orig/clone.S uClibc/libc/sysdeps/linux/arm/clone.S
+--- uClibc/libc/sysdeps/linux/arm/clone.S.orig 2006-01-19 19:36:36.754757577 -0800
++++ uClibc/libc/sysdeps/linux/arm/clone.S 2006-01-19 19:42:59.885757030 -0800
+@@ -31,7 +31,7 @@
+ .text
+ .global clone
+ .type clone,%function
+-.align 4
++.align 2
+ clone:
+ @ sanity check args
+ cmp r0, #0
+@@ -49,7 +49,7 @@ clone:
+ @ get flags
+ mov r0, r2
+ @ new sp is already in r1
+- swi __NR_clone
++ swi (__NR_clone | 0x900000)
+ movs a1, a1
+ blt __error
+ #if defined(__THUMB_INTERWORK__)
+diff -u uClibc-0.9.28/libc/sysdeps/linux/arm/orig/mmap64.S uClibc-0.9.28/libc/sysdeps/linux/arm/mmap64.S
+--- uClibc-0.9.28/libc/sysdeps/linux/arm/orig/mmap64.S 2005-09-18 18:41:36.874986873 -0700
++++ uClibc-0.9.28/libc/sysdeps/linux/arm/mmap64.S 2005-09-18 19:02:03.692185612 -0700
+@@ -27,7 +27,7 @@
+ .text
+ .global mmap64
+ .type mmap64,%function
+-.align 4
++.align 2
+ mmap64:
+ stmfd sp!, {r4, r5, lr}
+ ldr r5, [sp, $16]
+@@ -40,7 +40,7 @@
+ movs ip, ip, lsr $12
+ bne .Linval @ check for overflow
+ mov ip, r0
+- swi __NR_mmap2
++ swi (__NR_mmap2 | 0x900000)
+ cmn r0, $4096
+ ldmccfd sp!, {r4, r5, pc}
+ cmn r0, $ENOSYS
+diff -u uClibc-0.9.28/libc/sysdeps/linux/arm/orig/setjmp.S uClibc-0.9.28/libc/sysdeps/linux/arm/setjmp.S
+--- uClibc-0.9.28/libc/sysdeps/linux/arm/orig/setjmp.S 2005-09-18 18:41:36.874986873 -0700
++++ uClibc-0.9.28/libc/sysdeps/linux/arm/setjmp.S 2005-09-18 19:02:08.956516875 -0700
+@@ -24,7 +24,7 @@
+
+ .global __sigsetjmp
+ .type __sigsetjmp,%function
+-.align 4
++.align 2
+ __sigsetjmp:
+ /* Save registers */
+ #if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__
+diff -u uClibc-0.9.28/libc/sysdeps/linux/arm/orig/sigrestorer.S uClibc-0.9.28/libc/sysdeps/linux/arm/sigrestorer.S
+--- uClibc-0.9.28/libc/sysdeps/linux/arm/orig/sigrestorer.S 2005-09-18 18:41:36.874986873 -0700
++++ uClibc-0.9.28/libc/sysdeps/linux/arm/sigrestorer.S 2005-09-18 19:02:18.041088531 -0700
+@@ -24,17 +24,17 @@
+
+ .global __default_sa_restorer
+ .type __default_sa_restorer,%function
+-.align 4
++.align 2
+ __default_sa_restorer:
+- swi __NR_sigreturn
++ swi (__NR_sigreturn | 0x900000)
+
+
+ #ifdef __NR_rt_sigreturn
+
+ .global __default_rt_sa_restorer
+ .type __default_rt_sa_restorer,%function
+-.align 4
++.align 2
+ __default_rt_sa_restorer:
+- swi __NR_rt_sigreturn
++ swi (__NR_rt_sigreturn | 0x900000)
+
+ #endif
+diff -u uClibc/libc/sysdeps/linux/arm/orig/vfork.S uClibc/libc/sysdeps/linux/arm/vfork.S
+--- uClibc/libc/sysdeps/linux/arm/vfork.S.orig 2006-01-19 19:36:36.754757577 -0800
++++ uClibc/libc/sysdeps/linux/arm/vfork.S 2006-01-19 19:43:47.709756961 -0800
+@@ -18,12 +18,12 @@
+ .text
+ .global vfork
+ .type vfork,%function
+-.align 4
++.align 2
+
+ vfork:
+
+ #ifdef __NR_vfork
+- swi __NR_vfork
++ swi (__NR_vfork | 0x900000)
+ cmn r0, #4096
+ #if defined(__THUMB_INTERWORK__)
+ bxcc lr
+@@ -38,7 +38,7 @@ vfork:
+ #endif
+
+ /* If we don't have vfork, use fork. */
+- swi __NR_fork
++ swi (__NR_fork | 0x900000)
+ cmn r0, #4096
+
+ /* Syscall worked. Return to child/parent */
diff --git a/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch b/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch
index c31d2f03cd..6b73301bf7 100644
--- a/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch
+++ b/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch
@@ -2,14 +2,14 @@
# is ARM specific, that code must also be selected for __thumb__ because
# __thumb__ is an ARM but __arm__ is not set...
#
---- ./ldso/include/dl-string.h.orig 2005-09-07 14:09:19.375564254 -0700
-+++ ./ldso/include/dl-string.h 2005-09-07 14:09:52.045620051 -0700
-@@ -270,7 +270,7 @@
+--- uClibc/ldso/include/dl-string.h.orig 2006-01-19 19:03:42.000000000 -0800
++++ uClibc/ldso/include/dl-string.h 2006-01-19 19:28:15.141758294 -0800
+@@ -276,7 +276,7 @@ static __always_inline char * _dl_simple
/* On some arches constant strings are referenced through the GOT.
* This requires that load_addr must already be defined... */
--#if defined(mc68000) || defined(__arm__) || defined(__mips__) \
-+#if defined(mc68000) || defined(__arm__) || defined(__thumb__) || defined(__mips__) \
- || defined(__sh__) || defined(__powerpc__)
+-#if defined(mc68000) || defined(__arm__) || defined(__mips__) \
++#if defined(mc68000) || defined(__arm__) || defined(__thumb__) || defined(__mips__) \
+ || defined(__sh__) || defined(__powerpc__)
# define CONSTANT_STRING_GOT_FIXUP(X) \
if ((X) < (const char *) load_addr) (X) += load_addr
diff --git a/packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch b/packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch
new file mode 100644
index 0000000000..342fbb1aee
--- /dev/null
+++ b/packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch
@@ -0,0 +1,178 @@
+# This patch changes all cases where the ARM assembler mov pc,rx
+# instructions are used to ensure that the thumb/arm interwork change of
+# process more works - in essence mov pc,rx needs to become bx rc.
+#
+# The ldr pc or ldm rx, {pc} instructions are not changed - this is
+# fine on ARM >=v5 but will fail to restore thumb mode on ARM v4T,
+# i.e. this code will not provide support for thumb on ARM v4T.
+#
+# One mov pc is left in resolve.S, this is fixed in a different patch -
+# thumb-resolve.patch
+#
+# The changes are protected by __THUMB_INTERWORK__ - the original
+# mov instruction will work on newer architectures and is required on
+# arch v4 (not v4t) and earlier - those which did not support thumb -
+# so this is safe. See gcc lib1asmfuncs for a more exact test.
+#
+--- uClibc-0.9.28/.pc/thumb-mov-pc-bx.patch/ldso/ldso/arm/dl-startup.h 2005-08-17 15:49:41.000000000 -0700
++++ uClibc-0.9.28/ldso/ldso/arm/dl-startup.h 2005-09-16 23:38:34.266546180 -0700
+@@ -4,6 +4,7 @@
+ * Copyright (C) 2000-2004 by Erik Andersen <andersen@codepoet.org>
+ */
+
++#if defined(__arm__)
+ asm(
+ " .text\n"
+ " .globl _start\n"
+@@ -40,7 +41,11 @@
+ " ldr r0, .L_FINI_PROC\n"
+ " ldr r0, [sl, r0]\n"
+ " @ jump to the user_s entry point\n"
++#if defined(__THUMB_INTERWORK__)
++ " bx r6\n"
++#else
+ " mov pc, r6\n"
++#endif
+ ".L_GET_GOT:\n"
+ " .word _GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4\n"
+ ".L_SKIP_ARGS:\n"
+@@ -51,6 +56,70 @@
+ " .size _start,.-_start\n"
+ ".previous\n"
+ );
++#else
++asm(
++ " .text\n"
++ " .arm\n"
++ " .globl _start\n"
++ " .type _start,%function\n"
++ "_start:\n"
++ " @ dumb: can't persuade the linker to make the start address\n"
++ " @ odd, so use an arm function and change to thumb (_dl_start\n"
++ " @ is thumb)\n"
++ " adr r0, __dl_thumb_start+1\n"
++ " bx r0\n"
++ "\n\n"
++ " .thumb\n"
++ " .globl __dl_thumb_start\n"
++ " .thumb_func\n"
++ " .type __dl_thumb_start,%function\n"
++ "__dl_thumb_start:\n"
++ " @ at start time, all the args are on the stack\n"
++ " mov r0, sp\n"
++ " bl _dl_start\n"
++ " @ returns user entry point in r0\n"
++ " mov r6, r0\n"
++ " @ we are PIC code, so get global offset table\n"
++ " ldr r7, .L_GET_GOT\n"
++ ".L_GOT_GOT:\n"
++ " add r7, pc\n"
++ " @ See if we were run as a command with the executable file\n"
++ " @ name as an extra leading argument.\n"
++ " ldr r4, .L_SKIP_ARGS\n"
++ " ldr r4, [r7, r4]\n"
++ " @ get the original arg count\n"
++ " ldr r1, [sp]\n"
++ " @ subtract _dl_skip_args from it\n"
++ " sub r1, r1, r4\n"
++ " @ adjust the stack pointer to skip them\n"
++ " lsl r4, r4, #2\n"
++ " add sp, r4\n"
++ " @ get the argv address\n"
++ " add r2, sp, #4\n"
++ " @ store the new argc in the new stack location\n"
++ " str r1, [sp]\n"
++ " @ compute envp\n"
++ " lsl r3, r1, #2\n"
++ " add r3, r3, r2\n"
++ " add r3, #4\n"
++ "\n\n"
++ " @ load the finalizer function\n"
++ " ldr r0, .L_FINI_PROC\n"
++ " ldr r0, [r7, r0]\n"
++ " @ jump to the user_s entry point\n"
++ " bx r6\n"
++ "\n\n"
++ ".L_GET_GOT:\n"
++ " .word _GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4\n"
++ ".L_SKIP_ARGS:\n"
++ " .word _dl_skip_args(GOTOFF)\n"
++ ".L_FINI_PROC:\n"
++ " .word _dl_fini(GOT)\n"
++ "\n\n"
++ " .size _start,.-_start\n"
++ ".previous\n"
++);
++#endif
+
+
+ /* Get a pointer to the argv array. On many platforms this can be just
+--- uClibc/.pc/thumb-mov-pc-bx.patch/ldso/ldso/arm/dl-sysdep.h 2006-01-19 19:03:40.000000000 -0800
++++ uClibc/ldso/ldso/arm/dl-sysdep.h 2006-01-20 01:25:26.026727661 -0800
+@@ -85,7 +85,25 @@ elf_machine_load_address (void)
+ extern void __dl_start asm ("_dl_start");
+ Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
+ Elf32_Addr pcrel_addr;
++#if !defined __thumb__
+ asm ("adr %0, _dl_start" : "=r" (pcrel_addr));
++#else
++ int tmp;
++ /* The above adr will not work on thumb because it
++ * is negative. The only safe way is to temporarily
++ * swap to arm.
++ */
++ asm( ".align 2\n"
++ " bx pc\n"
++ " nop \n"
++ " .arm \n"
++ " adr %0, _dl_start\n"
++ " .align 2\n"
++ " orr %1, pc, #1\n"
++ " bx %1\n"
++ " .force_thumb\n"
++ : "=r" (pcrel_addr), "=&r" (tmp));
++#endif
+ return pcrel_addr - got_addr;
+ }
+
+--- uClibc/libc/sysdeps/linux/arm/clone.S.orig 2006-01-19 19:03:55.000000000 -0800
++++ uClibc/libc/sysdeps/linux/arm/clone.S 2006-01-19 19:30:30.969758100 -0800
+@@ -52,7 +52,11 @@ clone:
+ swi __NR_clone
+ movs a1, a1
+ blt __error
+- movne pc, lr
++#if defined(__THUMB_INTERWORK__)
++ bxne lr
++#else
++ movne pc, lr
++#endif
+
+ @ pick the function arg and call address off the stack and execute
+ ldr r0, [sp, #4]
+--- uClibc/libc/sysdeps/linux/arm/vfork.S.orig 2006-01-19 19:03:55.000000000 -0800
++++ uClibc/libc/sysdeps/linux/arm/vfork.S 2006-01-19 19:33:09.533757874 -0800
+@@ -25,7 +25,11 @@ vfork:
+ #ifdef __NR_vfork
+ swi __NR_vfork
+ cmn r0, #4096
++#if defined(__THUMB_INTERWORK__)
++ bxcc lr
++#else
+ movcc pc, lr
++#endif
+
+ /* Check if vfork even exists. */
+ ldr r1, =-ENOSYS
+@@ -38,7 +42,11 @@ vfork:
+ cmn r0, #4096
+
+ /* Syscall worked. Return to child/parent */
++#if defined(__THUMB_INTERWORK__)
++ bxcc lr
++#else
+ movcc pc, lr
++#endif
+
+ __error:
+ b __syscall_error