diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2006-01-21 00:07:41 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-01-21 00:07:41 +0000 |
commit | 8c9e9a740a81d8433c64242d499768972f31bbdd (patch) | |
tree | 57d5654d8db2e2c36289efd36493f6925b1d8cad /packages/uclibc/uclibc-cvs | |
parent | fff27a537eb7305d05e8052593a6359a4f0b0b74 (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.config | 52 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/armeb/uClibc.config | 182 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/i386/uClibc.config | 54 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/i686/uClibc.config | 54 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/ixp4xx/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/ixp4xx/uClibc.distro | 135 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/ixp4xx/uClibc.machine | 8 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/mipsel/uClibc.config | 55 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/sh3/uClibc.config | 55 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/sh4/uClibc.config | 74 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/thumb-asm-swi.patch | 154 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch | 12 | ||||
-rw-r--r-- | packages/uclibc/uclibc-cvs/thumb-mov-pc-bx.patch | 178 |
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 |