uclibc: updated thumb patch set (compiles, doesn't work) in svn
authorJohn Bowler <jbowler@nslu2-linux.org>
Sat, 21 Jan 2006 00:07:41 +0000 (00:07 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Sat, 21 Jan 2006 00:07:41 +0000 (00:07 +0000)
 - this updates the patch set to svn 20060120, the patches now apply
   but the result is non-functional (completely).

16 files changed:
packages/uclibc/uclibc-cvs/arm/uClibc.config
packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty [new file with mode: 0644]
packages/uclibc/uclibc-cvs/armeb/uClibc.config [new file with mode: 0644]
packages/uclibc/uclibc-cvs/i386/uClibc.config
packages/uclibc/uclibc-cvs/i686/uClibc.config
packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty [new file with mode: 0644]
packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro [new file with mode: 0644]
packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine [new file with mode: 0644]
packages/uclibc/uclibc-cvs/mipsel/uClibc.config
packages/uclibc/uclibc-cvs/sh3/uClibc.config
packages/uclibc/uclibc-cvs/sh4/uClibc.config
packages/uclibc/uclibc-cvs/thumb-asm-swi.patch [new file with mode: 0644]
packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch
packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch [new file with mode: 0644]
packages/uclibc/uclibc.inc
packages/uclibc/uclibc_svn.bb

index a20c9a8..fbbffe5 100644 (file)
@@ -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 (file)
index 0000000..e69de29
diff --git a/packages/uclibc/uclibc-cvs/armeb/uClibc.config b/packages/uclibc/uclibc-cvs/armeb/uClibc.config
new file mode 100644 (file)
index 0000000..5f9fe16
--- /dev/null
@@ -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
index 90d5ce1..bc6e72d 100644 (file)
@@ -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
index 90d5ce1..bc6e72d 100644 (file)
@@ -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 (file)
index 0000000..e69de29
diff --git a/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro b/packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro
new file mode 100644 (file)
index 0000000..7d54119
--- /dev/null
@@ -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 (file)
index 0000000..77e53bc
--- /dev/null
@@ -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
index b71ae46..4389c9b 100644 (file)
@@ -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
index b557506..1e27107 100644 (file)
@@ -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
 # 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
index a80f4dc..0b9a3c4 100644 (file)
@@ -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
 # 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 (file)
index 0000000..d09e40b
--- /dev/null
@@ -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 */
index c31d2f0..6b73301 100644 (file)
@@ -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 (file)
index 0000000..342fbb1
--- /dev/null
@@ -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
index 910e633..e48c6d7 100644 (file)
@@ -78,6 +78,7 @@ configmangle = 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE="${KERNEL_SOURCE}",g; \
                s,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX="/",g; \
                s,^DEVEL_PREFIX=.*,DEVEL_PREFIX="/${prefix}",g; \
                s,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH="/lib",; \
+               s,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX="/lib",; \
                s,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g; \
                ${@["s,.*UCLIBC_HAS_LOCALE.*,# UCLIBC_HAS_LOCALE is not set,;", ""][bb.data.getVar("USE_NLS", d, 1) == "yes"]}'
 CFLAGS := "${@oe_filter_out('-I\S+', '${CFLAGS}', d)}"
index 473cd48..951bc9b 100644 (file)
@@ -8,6 +8,7 @@
 #
 UCLIBC_BASE ?= "0.9.28"
 PV = "${UCLIBC_BASE}+svn${SRCDATE}"
+PR = "r1"
 #DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
 # precedence.
 
@@ -38,10 +39,21 @@ UCLIBC_PATCHES += " file://thumb-defined-arm-or-thumb.patch;patch=1"
 #
 # Thumb interworking support
 UCLIBC_PATCHES += " file://thumb-mov-pc-bx.patch;patch=1"
-UCLIBC_PATCHES += " file://thumb-resolve.patch;patch=1"
+UCLIBC_PATCHES += " file://thumb-swi-r7.patch;patch=1"
+UCLIBC_PATCHES += " file://thumb-sysnum-h.patch;patch=1"
+UCLIBC_PATCHES += " file://thumb-asm-swi.patch;patch=1"
+UCLIBC_PATCHES += " file://thumb-call-via-rx.patch;patch=1"
+#
+# This is a core change and is controversial, maybe even wrong
+# on some architectures
+THUMB_INTERWORK_RESOLVE_PATCH = ""
+THUMB_INTERWORK_RESOLVE_PATCH_thumb-interwork = " file://thumb-resolve.patch;patch=1"
+UCLIBC_PATCHES += " ${THUMB_INTERWORK_RESOLVE_PATCH}"
 
 # Set this for non-head patches (the above list should match the
 # requirements of the SVN head).
-UCLIBC_SVN_PATCHES ?= "${UCLIBC_PATCHES}"
+#FIXME: not working with these patches
+#UCLIBC_SVN_PATCHES ?= "${UCLIBC_PATCHES}"
+UCLIBC_SVN_PATCHES ?= ""
 
 SRC_URI += "${UCLIBC_SVN_PATCHES}"