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 0eee41e..c4f41ae 100644 (file)
@@ -21,13 +21,19 @@ choice
 
 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
-       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"
index 906767d..e7304a1 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))
+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
@@ -18,8 +26,13 @@ else
   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:=$(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
@@ -27,16 +40,11 @@ PKG_MD5SUM_0.9.29 = 61dc55f43b17a38a074f347e74095b20
 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
-  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
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__ */