add uclibc-nptl
authorFelix Fietkau <nbd@openwrt.org>
Tue, 24 Mar 2009 02:06:12 +0000 (02:06 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 24 Mar 2009 02:06:12 +0000 (02:06 +0000)
SVN-Revision: 15006

17 files changed:
toolchain/uClibc/Config.in
toolchain/uClibc/Makefile
toolchain/uClibc/config-nptl/arm [new file with mode: 0644]
toolchain/uClibc/config-nptl/arm.storm [new file with mode: 0644]
toolchain/uClibc/config-nptl/armeb [new file with mode: 0644]
toolchain/uClibc/config-nptl/avr32 [new file with mode: 0644]
toolchain/uClibc/config-nptl/common [new file with mode: 0644]
toolchain/uClibc/config-nptl/cris [new file with mode: 0644]
toolchain/uClibc/config-nptl/i386 [new file with mode: 0644]
toolchain/uClibc/config-nptl/i686 [new file with mode: 0644]
toolchain/uClibc/config-nptl/mips [new file with mode: 0644]
toolchain/uClibc/config-nptl/mipsel [new file with mode: 0644]
toolchain/uClibc/config-nptl/powerpc [new file with mode: 0644]
toolchain/uClibc/config-nptl/x86_64 [new file with mode: 0644]
toolchain/uClibc/patches-nptl/110-compat_macros.patch [new file with mode: 0644]
toolchain/uClibc/patches-nptl/120-adjtimex.patch [new file with mode: 0644]
toolchain/uClibc/patches-nptl/130-compile_fix.patch [new file with mode: 0644]

index 0eee41e7b949559132c1236957aa3c199114d4ee..c4f41aedb68a0d79902c87359a259ac265cac8d9 100644 (file)
@@ -21,13 +21,19 @@ choice
 
 endchoice
 
 
 endchoice
 
+config UCLIBC_VERSION_NPTL
+       bool "Use NPTL branch"
+       depends on TOOLCHAINOPTS && USE_UCLIBC
+       depends on UCLIBC_VERSION_0_9_30
+
+
 config UCLIBC_EXTRA_VERSION
        string
        prompt "Extra uClibc version"
        depends on TOOLCHAINOPTS && USE_UCLIBC
        default "snapshot"   if UCLIBC_VERSION_SNAPSHOT
        default ".2"         if UCLIBC_VERSION_0_9_28
 config UCLIBC_EXTRA_VERSION
        string
        prompt "Extra uClibc version"
        depends on TOOLCHAINOPTS && USE_UCLIBC
        default "snapshot"   if UCLIBC_VERSION_SNAPSHOT
        default ".2"         if UCLIBC_VERSION_0_9_28
-       default ".1"         if UCLIBC_VERSION_0_9_30
+       default ".1"         if UCLIBC_VERSION_0_9_30 && !UCLIBC_VERSION_NPTL
        default ""
        help
            Default for version 0.9.28 is ".02", for daily snapshot it's just "snapshot"
        default ""
        help
            Default for version 0.9.28 is ".02", for daily snapshot it's just "snapshot"
index 906767da2269830c2647f0741647a09bffc3f612..e7304a171c645d464b8f9f21a5d815928d39110f 100644 (file)
@@ -11,6 +11,14 @@ PKG_NAME:=uClibc
 PKG_VERSION:=$(call qstrip,$(CONFIG_UCLIBC_VERSION))
 PKG_EXTRAVERSION:=$(call qstrip,$(CONFIG_UCLIBC_EXTRA_VERSION))
 PKG_VERSION_SNAPSHOT:=$(call qstrip,$(CONFIG_UCLIBC_VERSION_SNAPSHOT))
 PKG_VERSION:=$(call qstrip,$(CONFIG_UCLIBC_VERSION))
 PKG_EXTRAVERSION:=$(call qstrip,$(CONFIG_UCLIBC_EXTRA_VERSION))
 PKG_VERSION_SNAPSHOT:=$(call qstrip,$(CONFIG_UCLIBC_VERSION_SNAPSHOT))
+ifeq ($(CONFIG_UCLIBC_VERSION_NPTL),y)
+  PKG_SOURCE_URL:=http://www.uclibc.org/svn/branches/uClibc-nptl
+  PKG_SOURCE_PROTO:=svn
+  PKG_SOURCE_VERSION:=25804
+  PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)+nptl
+  PKG_SOURCE:=$(PKG_NAME)-nptl-r$(PKG_SOURCE_VERSION).tar.gz
+  PKG_EXTRAVERSION:=
+else
 ifeq ($(PKG_VERSION_SNAPSHOT),y)
   PKG_SOURCE_URL:=http://www.uclibc.org/downloads/snapshots
   PKG_SOURCE:=uClibc-snapshot.tar.bz2
 ifeq ($(PKG_VERSION_SNAPSHOT),y)
   PKG_SOURCE_URL:=http://www.uclibc.org/downloads/snapshots
   PKG_SOURCE:=uClibc-snapshot.tar.bz2
@@ -18,8 +26,13 @@ else
   PKG_SOURCE_URL:=http://www.uclibc.org/downloads
   PKG_SOURCE:=uClibc-$(PKG_VERSION)$(PKG_EXTRAVERSION).tar.bz2
 endif
   PKG_SOURCE_URL:=http://www.uclibc.org/downloads
   PKG_SOURCE:=uClibc-$(PKG_VERSION)$(PKG_EXTRAVERSION).tar.bz2
 endif
+endif
 PATCH_DIR:=$(firstword $(wildcard ./patches-$(PKG_VERSION)$(PKG_EXTRAVERSION) ./patches-$(PKG_VERSION)))
 CONFIG_DIR:=$(firstword $(wildcard ./config-$(PKG_VERSION)$(PKG_EXTRAVERSION) ./config-$(PKG_VERSION)))
 PATCH_DIR:=$(firstword $(wildcard ./patches-$(PKG_VERSION)$(PKG_EXTRAVERSION) ./patches-$(PKG_VERSION)))
 CONFIG_DIR:=$(firstword $(wildcard ./config-$(PKG_VERSION)$(PKG_EXTRAVERSION) ./config-$(PKG_VERSION)))
+PATCH_DIR:=$(if $(CONFIG_UCLIBC_VERSION_NPTL),./patches-nptl,$(PATCH_DIR))
+CONFIG_DIR:=$(if $(CONFIG_UCLIBC_VERSION_NPTL),./config-nptl,$(CONFIG_DIR))
+PATCH_DIR:=$(if $(PKG_VERSION_SNAPSHOT),,$(PATCH_DIR))
+CONFIG_DIR:=$(if $(PKG_VERSION_SNAPSHOT),./config-0.9.30,$(CONFIG_DIR))
 
 PKG_MD5SUM_0.9.28.2 = 959f25286e317f0d9e2103445c5a14c2
 PKG_MD5SUM_0.9.28.3 = 428405a36b4662980d9343b32089b5a6
 
 PKG_MD5SUM_0.9.28.2 = 959f25286e317f0d9e2103445c5a14c2
 PKG_MD5SUM_0.9.28.3 = 428405a36b4662980d9343b32089b5a6
@@ -27,16 +40,11 @@ PKG_MD5SUM_0.9.29 = 61dc55f43b17a38a074f347e74095b20
 PKG_MD5SUM_0.9.30 = e5766e2566e0297adebebbcc0aba1f2d
 PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION)$(PKG_EXTRAVERSION))
 
 PKG_MD5SUM_0.9.30 = e5766e2566e0297adebebbcc0aba1f2d
 PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION)$(PKG_EXTRAVERSION))
 
-ifeq ($(PKG_VERSION_SNAPSHOT),y)
-  PATCH_DIR:=
-  CONFIG_DIR:=./config-0.9.30
-  PKG_MD5SUM:=
-endif
 
 ifeq ($(PKG_VERSION_SNAPSHOT),y)
   HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/uClibc-$(PKG_EXTRAVERSION)
 else
 
 ifeq ($(PKG_VERSION_SNAPSHOT),y)
   HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/uClibc-$(PKG_EXTRAVERSION)
 else
-  HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/uClibc-$(PKG_VERSION)$(PKG_EXTRAVERSION)
+  HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/uClibc-$(PKG_VERSION)$(PKG_EXTRAVERSION)$(if $(CONFIG_UCLIBC_VERSION_NPTL),+nptl)
 endif
 
 include $(INCLUDE_DIR)/toolchain-build.mk
 endif
 
 include $(INCLUDE_DIR)/toolchain-build.mk
diff --git a/toolchain/uClibc/config-nptl/arm b/toolchain/uClibc/config-nptl/arm
new file mode 100644 (file)
index 0000000..d26b075
--- /dev/null
@@ -0,0 +1,25 @@
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+ARCH_WANTS_LITTLE_ENDIAN=y
+# CONFIG_ARM10T is not set
+# CONFIG_ARM1136JF_S is not set
+# CONFIG_ARM1176JZF_S is not set
+# CONFIG_ARM1176JZ_S is not set
+# CONFIG_ARM610 is not set
+# CONFIG_ARM710 is not set
+# CONFIG_ARM720T is not set
+# CONFIG_ARM7TDMI is not set
+# CONFIG_ARM920T is not set
+# CONFIG_ARM922T is not set
+# CONFIG_ARM926T is not set
+# CONFIG_ARM_CORTEX_M1 is not set
+# CONFIG_ARM_CORTEX_M3 is not set
+# CONFIG_ARM_EABI is not set
+# CONFIG_ARM_IWMMXT is not set
+CONFIG_ARM_OABI=y
+# CONFIG_ARM_SA110 is not set
+# CONFIG_ARM_SA1100 is not set
+CONFIG_ARM_XSCALE=y
+# CONFIG_GENERIC_ARM is not set
+TARGET_ARCH="arm"
+TARGET_arm=y
diff --git a/toolchain/uClibc/config-nptl/arm.storm b/toolchain/uClibc/config-nptl/arm.storm
new file mode 100644 (file)
index 0000000..8043cf6
--- /dev/null
@@ -0,0 +1,26 @@
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+ARCH_WANTS_LITTLE_ENDIAN=y
+# CONFIG_ARM10T is not set
+# CONFIG_ARM1136JF_S is not set
+# CONFIG_ARM1176JZF_S is not set
+# CONFIG_ARM1176JZ_S is not set
+# CONFIG_ARM610 is not set
+# CONFIG_ARM710 is not set
+# CONFIG_ARM720T is not set
+# CONFIG_ARM7TDMI is not set
+CONFIG_ARM920T=y
+# CONFIG_ARM922T is not set
+# CONFIG_ARM926T is not set
+# CONFIG_ARM_CORTEX_M1 is not set
+# CONFIG_ARM_CORTEX_M3 is not set
+# CONFIG_ARM_EABI is not set
+# CONFIG_ARM_IWMMXT is not set
+CONFIG_ARM_OABI=y
+# CONFIG_ARM_SA110 is not set
+# CONFIG_ARM_SA1100 is not set
+# CONFIG_ARM_XSCALE is not set
+# CONFIG_GENERIC_ARM is not set
+TARGET_ARCH="arm"
+TARGET_arm=y
+# USE_BX is not set
diff --git a/toolchain/uClibc/config-nptl/armeb b/toolchain/uClibc/config-nptl/armeb
new file mode 100644 (file)
index 0000000..ba3ea5c
--- /dev/null
@@ -0,0 +1,25 @@
+ARCH_ANY_ENDIAN=y
+ARCH_BIG_ENDIAN=y
+ARCH_WANTS_BIG_ENDIAN=y
+# CONFIG_ARM10T is not set
+# CONFIG_ARM1136JF_S is not set
+# CONFIG_ARM1176JZF_S is not set
+# CONFIG_ARM1176JZ_S is not set
+# CONFIG_ARM610 is not set
+# CONFIG_ARM710 is not set
+# CONFIG_ARM720T is not set
+# CONFIG_ARM7TDMI is not set
+# CONFIG_ARM920T is not set
+# CONFIG_ARM922T is not set
+# CONFIG_ARM926T is not set
+# CONFIG_ARM_CORTEX_M1 is not set
+# CONFIG_ARM_CORTEX_M3 is not set
+# CONFIG_ARM_EABI is not set
+# CONFIG_ARM_IWMMXT is not set
+CONFIG_ARM_OABI=y
+# CONFIG_ARM_SA110 is not set
+# CONFIG_ARM_SA1100 is not set
+CONFIG_ARM_XSCALE=y
+# CONFIG_GENERIC_ARM is not set
+TARGET_ARCH="arm"
+TARGET_arm=y
diff --git a/toolchain/uClibc/config-nptl/avr32 b/toolchain/uClibc/config-nptl/avr32
new file mode 100644 (file)
index 0000000..bf7907a
--- /dev/null
@@ -0,0 +1,10 @@
+ARCH_BIG_ENDIAN=y
+CONFIG_AVR32_AP7=y
+FORCE_SHAREABLE_TEXT_SEGMENTS=y
+LINKRELAX=y
+TARGET_ARCH="avr32"
+TARGET_avr32=y
+UCLIBC_HAS_FPU=y
+# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set
+# UCLIBC_HAS_STRING_ARCH_OPT is not set
+UNIX98PTY_ONLY=y
diff --git a/toolchain/uClibc/config-nptl/common b/toolchain/uClibc/config-nptl/common
new file mode 100644 (file)
index 0000000..f516343
--- /dev/null
@@ -0,0 +1,185 @@
+# ARCH_ANY_ENDIAN is not set
+ARCH_HAS_MMU=y
+# ARCH_HAS_NO_LDSO is not set
+# ARCH_HAS_NO_SHARED is not set
+# ARCH_LITTLE_ENDIAN is not set
+ARCH_USE_MMU=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+# ARCH_WANTS_LITTLE_ENDIAN is not set
+ASSUME_DEVPTS=y
+COMPAT_ATEXIT=y
+CROSS_COMPILER_PREFIX=""
+DEVEL_PREFIX="/usr/"
+# DOASSERTS is not set
+# DODEBUG is not set
+# DODEBUG_PT is not set
+# DOMULTI is not set
+DOPIC=y
+DOSTRIP=y
+DO_C99_MATH=y
+# EXTRA_WARNINGS is not set
+FORCE_OPTIONS_FOR_ARCH=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+# HAS_NO_THREADS is not set
+HAVE_DOT_CONFIG=y
+# HAVE_NO_PIC is not set
+# HAVE_NO_SSP is not set
+HAVE_SHARED=y
+KERNEL_HEADERS="."
+LDSO_BASE_FILENAME="ld.so"
+LDSO_CACHE_SUPPORT=y
+# LDSO_GNU_HASH_SUPPORT is not set
+LDSO_LDD_SUPPORT=y
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_RUNPATH=y
+LINUXTHREADS_NEW=y
+# LINUXTHREADS_OLD is not set
+# MALLOC is not set
+MALLOC_GLIBC_COMPAT=y
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+# PTHREADS_DEBUG_SUPPORT is not set
+RUNTIME_PREFIX="/"
+SHARED_LIB_LOADER_PREFIX="/lib"
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+TARGET_SUBARCH=""
+# TARGET_alpha is not set
+# TARGET_arm is not set
+# TARGET_avr32 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_ia64 is not set
+# TARGET_m68k is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nios is not set
+# TARGET_nios2 is not set
+# TARGET_powerpc is not set
+# TARGET_sh is not set
+# TARGET_sh64 is not set
+# TARGET_sparc is not set
+# TARGET_v850 is not set
+# TARGET_vax is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_BUILD_NOEXECSTACK=y
+# UCLIBC_BUILD_NOW is not set
+# UCLIBC_BUILD_PIE is not set
+UCLIBC_BUILD_RELRO=y
+UCLIBC_CTOR_DTOR=y
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_EXTRA_CFLAGS=""
+UCLIBC_GRP_BUFFER_SIZE=256
+# UCLIBC_HAS_ADVANCED_REALTIME is not set
+# UCLIBC_HAS_ARC4RANDOM is not set
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_CTYPE_SIGNED=y
+UCLIBC_HAS_CTYPE_TABLES=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+# UCLIBC_HAS_FENV is not set
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+# UCLIBC_HAS_FPU is not set
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FULL_RPC=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_GNU_GLOB=y
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_HAS_LFS=y
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_NETWORK_SUPPORT=y
+# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+UCLIBC_HAS_PRINTF_M_SPEC=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS_PTY=y
+UCLIBC_HAS_REALTIME=y
+# UCLIBC_HAS_REENTRANT_RPC is not set
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_RPC=y
+UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_SOFT_FLOAT=y
+# UCLIBC_HAS_SSP is not set
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+UCLIBC_HAS_STDIO_FUTEXES=y
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SYSLOG=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_THREADS=y
+UCLIBC_HAS_THREADS_NATIVE=y
+UCLIBC_HAS_TLS=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_HAS_WCHAR=y
+UCLIBC_HAS_WORDEXP=y
+# UCLIBC_HAS_XATTR is not set
+UCLIBC_HAS___PROGNAME=y
+# UCLIBC_LINUX_MODULE_24 is not set
+UCLIBC_LINUX_SPECIFIC=y
+# UCLIBC_MALLOC_DEBUGGING is not set
+# UCLIBC_MJN3_ONLY is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+UCLIBC_PWD_BUFFER_SIZE=256
+# UCLIBC_STATIC_LDCONFIG is not set
+# UCLIBC_SUPPORT_AI_ADDRCONFIG is not set
+UCLIBC_SUSV3_LEGACY=y
+UCLIBC_SUSV3_LEGACY_MACROS=y
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_SV4_DEPRECATED is not set
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_USE_NETLINK=y
+# UNIX98PTY_ONLY is not set
+USE_BX=y
+WARNINGS="-Wall"
diff --git a/toolchain/uClibc/config-nptl/cris b/toolchain/uClibc/config-nptl/cris
new file mode 100644 (file)
index 0000000..b9ea676
--- /dev/null
@@ -0,0 +1,6 @@
+ARCH_LITTLE_ENDIAN=y
+CONFIG_CRIS=y
+# CONFIG_CRISV32 is not set
+TARGET_ARCH="cris"
+TARGET_cris=y
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-nptl/i386 b/toolchain/uClibc/config-nptl/i386
new file mode 100644 (file)
index 0000000..521ce8c
--- /dev/null
@@ -0,0 +1,24 @@
+ARCH_LITTLE_ENDIAN=y
+# CONFIG_386 is not set
+CONFIG_486=y
+# CONFIG_586 is not set
+# CONFIG_586MMX is not set
+# CONFIG_686 is not set
+# CONFIG_CRUSOE is not set
+# CONFIG_CYRIXIII is not set
+# CONFIG_ELAN is not set
+# CONFIG_GENERIC_386 is not set
+# CONFIG_K6 is not set
+# CONFIG_K7 is not set
+# CONFIG_NEHEMIAH is not set
+# CONFIG_PENTIUM4 is not set
+# CONFIG_PENTIUMII is not set
+# CONFIG_PENTIUMIII is not set
+# CONFIG_WINCHIP2 is not set
+# CONFIG_WINCHIPC6 is not set
+LINUXTHREADS_NEW=y
+# LINUXTHREADS_OLD is not set
+TARGET_ARCH="i386"
+TARGET_i386=y
+UCLIBC_HAS_FPU=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
diff --git a/toolchain/uClibc/config-nptl/i686 b/toolchain/uClibc/config-nptl/i686
new file mode 100644 (file)
index 0000000..22379f4
--- /dev/null
@@ -0,0 +1,24 @@
+ARCH_LITTLE_ENDIAN=y
+# CONFIG_386 is not set
+# CONFIG_486 is not set
+# CONFIG_586 is not set
+# CONFIG_586MMX is not set
+CONFIG_686=y
+# CONFIG_CRUSOE is not set
+# CONFIG_CYRIXIII is not set
+# CONFIG_ELAN is not set
+# CONFIG_GENERIC_386 is not set
+# CONFIG_K6 is not set
+# CONFIG_K7 is not set
+# CONFIG_NEHEMIAH is not set
+# CONFIG_PENTIUM4 is not set
+# CONFIG_PENTIUMII is not set
+# CONFIG_PENTIUMIII is not set
+# CONFIG_WINCHIP2 is not set
+# CONFIG_WINCHIPC6 is not set
+LINUXTHREADS_NEW=y
+# LINUXTHREADS_OLD is not set
+TARGET_ARCH="i386"
+TARGET_i386=y
+UCLIBC_HAS_FPU=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
diff --git a/toolchain/uClibc/config-nptl/mips b/toolchain/uClibc/config-nptl/mips
new file mode 100644 (file)
index 0000000..7398c66
--- /dev/null
@@ -0,0 +1,17 @@
+ARCH_ANY_ENDIAN=y
+ARCH_BIG_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_WANTS_BIG_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+CONFIG_MIPS_ISA_MIPS32=y
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+# CONFIG_MIPS_ISA_MIPS64 is not set
+# CONFIG_MIPS_N32_ABI is not set
+# CONFIG_MIPS_N64_ABI is not set
+CONFIG_MIPS_O32_ABI=y
+TARGET_ARCH="mips"
+TARGET_mips=y
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-nptl/mipsel b/toolchain/uClibc/config-nptl/mipsel
new file mode 100644 (file)
index 0000000..7648f39
--- /dev/null
@@ -0,0 +1,17 @@
+ARCH_ANY_ENDIAN=y
+ARCH_CFLAGS="-mno-split-addresses"
+ARCH_LITTLE_ENDIAN=y
+ARCH_WANTS_LITTLE_ENDIAN=y
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+CONFIG_MIPS_ISA_MIPS32=y
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+# CONFIG_MIPS_ISA_MIPS64 is not set
+# CONFIG_MIPS_N32_ABI is not set
+# CONFIG_MIPS_N64_ABI is not set
+CONFIG_MIPS_O32_ABI=y
+TARGET_ARCH="mips"
+TARGET_mips=y
+UCLIBC_HAS_FPU=y
diff --git a/toolchain/uClibc/config-nptl/powerpc b/toolchain/uClibc/config-nptl/powerpc
new file mode 100644 (file)
index 0000000..4e5cd43
--- /dev/null
@@ -0,0 +1,7 @@
+ARCH_BIG_ENDIAN=y
+CONFIG_CLASSIC=y
+# CONFIG_E500 is not set
+TARGET_ARCH="powerpc"
+TARGET_SUBARCH="classic"
+TARGET_powerpc=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
diff --git a/toolchain/uClibc/config-nptl/x86_64 b/toolchain/uClibc/config-nptl/x86_64
new file mode 100644 (file)
index 0000000..20a18f1
--- /dev/null
@@ -0,0 +1,7 @@
+ARCH_LITTLE_ENDIAN=y
+# LINUXTHREADS_NEW is not set
+TARGET_ARCH="x86_64"
+TARGET_x86_64=y
+UCLIBC_BSD_SPECIFIC=y 
+UCLIBC_HAS_FPU=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
diff --git a/toolchain/uClibc/patches-nptl/110-compat_macros.patch b/toolchain/uClibc/patches-nptl/110-compat_macros.patch
new file mode 100644 (file)
index 0000000..7659e46
--- /dev/null
@@ -0,0 +1,51 @@
+--- ./include/string.h.orig    2008-06-08 22:38:53.000000000 +0200
++++ ./include/string.h 2009-01-02 16:09:03.000000000 +0100
+@@ -355,18 +355,40 @@
+ /* Find the last occurrence of C in S (same as strrchr).  */
+ extern char *rindex (__const char *__s, int __c)
+      __THROW __attribute_pure__ __nonnull ((1));
+-# else
+-#  ifdef __UCLIBC_SUSV3_LEGACY_MACROS__
++# elif defined(__UCLIBC_SUSV3_LEGACY_MACROS__) && !defined(_STRINGS_H)
+ /* bcopy/bzero/bcmp/index/rindex are marked LEGACY in SuSv3.
+  * They are replaced as proposed by SuSv3. Don't sync this part
+  * with glibc and keep it in sync with strings.h.  */
+-#  define bcopy(src,dest,n) (memmove((dest), (src), (n)), (void) 0)
+-#  define bzero(s,n) (memset((s), '\0', (n)), (void) 0)
+-#  define bcmp(s1,s2,n) memcmp((s1), (s2), (size_t)(n))
+-#  define index(s,c) strchr((s), (c))
+-#  define rindex(s,c) strrchr((s), (c))
+-#  endif
++/* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
++static __inline__ void bcopy (__const void *__src, void *__dest, size_t __n)
++{
++      memmove(__dest, __src, __n);
++}
++
++/* Set N bytes of S to 0.  */
++static __inline__ void bzero (void *__s, size_t __n)
++{
++      memset(__s, 0, __n);
++}
++
++/* Compare N bytes of S1 and S2 (same as memcmp).  */
++static __inline__ int bcmp (__const void *__s1, __const void *__s2, size_t __n)
++{
++      return memcmp(__s1, __s2, __n);
++}
++
++/* Find the first occurrence of C in S (same as strchr).  */
++static __inline__ char *index (__const char *__s, int __c)
++{
++      return strchr(__s, __c);
++}
++
++/* Find the last occurrence of C in S (same as strrchr).  */
++static __inline__ char *rindex (__const char *__s, int __c)
++{
++      return strrchr(__s, __c);
++}
+ # endif
+ /* Return the position of the first bit set in I, or 0 if none are set.
diff --git a/toolchain/uClibc/patches-nptl/120-adjtimex.patch b/toolchain/uClibc/patches-nptl/120-adjtimex.patch
new file mode 100644 (file)
index 0000000..5127701
--- /dev/null
@@ -0,0 +1,14 @@
+Index: uClibc-0.9.29/include/sys/timex.h
+===================================================================
+--- uClibc-0.9.29.orig/include/sys/timex.h     2007-12-30 17:34:21.983513096 +0100
++++ uClibc-0.9.29/include/sys/timex.h  2007-12-30 17:34:32.180094169 +0100
+@@ -116,7 +116,8 @@
+ __BEGIN_DECLS
+-extern int __adjtimex (struct timex *__ntx) __THROW;
++#undef __adjtimex
++#define __adjtimex adjtimex
+ extern int adjtimex (struct timex *__ntx) __THROW;
+ extern int ntp_gettime (struct ntptimeval *__ntv) __THROW;
diff --git a/toolchain/uClibc/patches-nptl/130-compile_fix.patch b/toolchain/uClibc/patches-nptl/130-compile_fix.patch
new file mode 100644 (file)
index 0000000..ed3812a
--- /dev/null
@@ -0,0 +1,36 @@
+--- a/librt/mq_receive.c
++++ b/librt/mq_receive.c
+@@ -6,7 +6,8 @@
+ #include <stddef.h>
+ #include <sys/syscall.h>
+ #include <mqueue.h>
+-#warning FIXME: hard dependency on ADVANCED REALTIME feature
++
++#ifdef __UCLIBC_HAS_ADVANCED_REALTIME__
+ librt_hidden_proto(mq_timedreceive)
+@@ -44,3 +45,5 @@ ssize_t mq_receive(mqd_t mqdes, char *ms
+ {
+       return mq_timedreceive(mqdes, msg_ptr, msg_len, msg_prio, NULL);
+ }
++
++#endif /* __UCLIBC_HAS_ADVANCED_REALTIME__ */
+--- a/librt/mq_send.c
++++ b/librt/mq_send.c
+@@ -6,7 +6,8 @@
+ #include <stddef.h>
+ #include <sys/syscall.h>
+ #include <mqueue.h>
+-#warning FIXME: hard dependency on ADVANCED REALTIME feature
++
++#ifdef __UCLIBC_HAS_ADVANCED_REALTIME__
+ librt_hidden_proto(mq_timedsend)
+@@ -43,3 +44,5 @@ int mq_send(mqd_t mqdes, const char *msg
+ {
+       return mq_timedsend(mqdes, msg_ptr, msg_len, msg_prio, NULL);
+ }
++
++#endif /* __UCLIBC_HAS_ADVANCED_REALTIME__ */