1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-03 21:24:06 +02:00

merge from trunk: uClibc 0.9.32 support - this library has support for nptl (native linux posix threads) which is required by some sort of software

This commit is contained in:
Mirko Vogt 2010-12-08 11:35:11 +01:00
parent 2eeb3edee1
commit 949d9c1fe0
36 changed files with 5265 additions and 9 deletions

View File

@ -16,9 +16,8 @@ choice
config UCLIBC_VERSION_0_9_30_3
bool "uClibc 0.9.30.3"
config UCLIBC_VERSION_NPTL
bool "uClibc NPTL branch"
depends BROKEN
config UCLIBC_VERSION_0_9_32
bool "uClibc 0.9.32 (with nptl support)"
endchoice

View File

@ -4,5 +4,5 @@ config UCLIBC_VERSION
default "0.9.30.1" if UCLIBC_VERSION_0_9_30_1
default "0.9.30.2" if UCLIBC_VERSION_0_9_30_2
default "0.9.30.3" if UCLIBC_VERSION_0_9_30_3
default "0.9.30+nptl" if UCLIBC_VERSION_NPTL
default "0.9.32" if UCLIBC_VERSION_0_9_32
default "0.9.30.1"

View File

@ -9,13 +9,13 @@ include $(INCLUDE_DIR)/target.mk
PKG_NAME:=uClibc
PKG_VERSION:=$(call qstrip,$(CONFIG_UCLIBC_VERSION))
ifeq ($(CONFIG_UCLIBC_VERSION_NPTL),y)
ifeq ($(CONFIG_UCLIBC_VERSION_0_9_32),y)
PKG_SOURCE_URL:=git://git.busybox.net/uClibc
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=ef18cfe8ebab25f5ef92e81956f50e2dc57df602
PKG_SOURCE_VERSION:=e2903ddb06b1f50cb4ac9af0b035c74ed6b9d30f
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
LIBC_SO_VERSION:=0.9.30-git
LIBC_SO_VERSION:=$(PKG_VERSION)-git
else
PKG_SOURCE_URL:=http://www.uclibc.org/downloads
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@ -25,8 +25,7 @@ PATCH_DIR:=./patches-$(PKG_VERSION)
CONFIG_DIR:=./config-$(PKG_VERSION)
PKG_MD5SUM_0.9.30.1 = 1a4b84e5536ad8170563ffa88c34679c
PKG_MD5SUM_0.9.30.2 = e759ec855500082ac3e671dd6cacfdb0
PKG_MD5SUM_0.9.30.3 = 73a4bf4a0fa508b01a7a3143574e3d21
PKG_MD5SUM_0.9.31 = 52fb8a494758630c8d3ddd7f1e0daafd
PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION))
HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -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

View File

@ -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=y
# 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 is not set
# CONFIG_GENERIC_ARM is not set
TARGET_ARCH="arm"
TARGET_arm=y

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,12 @@
ARCH_BIG_ENDIAN=y
CONFIG_AVR32_AP7=y
FORCE_SHAREABLE_TEXT_SEGMENTS=y
LINKRELAX=y
LINUXTHREADS_OLD=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
# UCLIBC_HAS_THREADS_NATIVE is not set
UNIX98PTY_ONLY=y

View File

@ -0,0 +1,196 @@
# 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
# DO_XSI_MATH is not set
# EXTRA_WARNINGS is not set
FORCE_OPTIONS_FOR_ARCH=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
# HARDWIRED_ABSPATH 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_PRELOAD_ENV_SUPPORT is not set
LDSO_RUNPATH=y
# LDSO_SEARCH_INTERP_PATH is not set
# LINUXTHREADS_NEW is not set
# LINUXTHREADS_OLD is not set
UCLIBC_HAS_THREADS_NATIVE=y
# MALLOC is not set
MALLOC_GLIBC_COMPAT=y
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
MULTILIB_DIR="lib"
# PTHREADS_DEBUG_SUPPORT is not set
RUNTIME_PREFIX="/"
# 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_ubicom32 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=y
# UCLIBC_HAS_ARC4RANDOM is not set
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_BSD_RES_CLOSE=y
# UCLIBC_HAS_COMPAT_RES_STATE is not set
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_LIBNSL_STUB=y
UCLIBC_HAS_LIBRESOLV_STUB=y
UCLIBC_HAS_LIBUTIL=y
# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
UCLIBC_HAS_NETWORK_SUPPORT=y
UCLIBC_HAS_NFTW=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_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_TM_EXTENSIONS=y
UCLIBC_HAS_TZ_CACHING=y
UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
# UCLIBC_HAS_UTMPX is not set
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
# USE_OLD_VFPRINTF is not set
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_PWD_BUFFER_SIZE=256
# UCLIBC_STATIC_LDCONFIG is not set
UCLIBC_SUPPORT_AI_ADDRCONFIG=y
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_FALLBACK_TO_ETC_LOCALTIME is not set
UCLIBC_USE_NETLINK=y
# UNIX98PTY_ONLY is not set
USE_BX=y
WARNINGS="-Wall"

View File

@ -0,0 +1,8 @@
ARCH_LITTLE_ENDIAN=y
CONFIG_CRIS=y
# CONFIG_CRISV32 is not set
LINUXTHREADS_OLD=y
TARGET_ARCH="cris"
TARGET_cris=y
UCLIBC_HAS_FPU=y
# UCLIBC_HAS_THREADS_NATIVE is not set

View File

@ -0,0 +1,6 @@
DODEBUG=y
DODEBUG_PT=y
PTHREADS_DEBUG_SUPPORT=y
SUPPORT_LD_DEBUG=y
SUPPORT_LD_DEBUG_EARLY=y
UCLIBC_MALLOC_DEBUGGING=y

View File

@ -0,0 +1,21 @@
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
TARGET_ARCH="i386"
TARGET_i386=y
UCLIBC_HAS_FPU=y

View File

@ -0,0 +1,21 @@
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
TARGET_ARCH="i386"
TARGET_i386=y
UCLIBC_HAS_FPU=y

View File

@ -0,0 +1,6 @@
ARCH_BIG_ENDIAN=y
LINUXTHREADS_OLD=y
TARGET_ARCH="m68k"
TARGET_SUBARCH=""
TARGET_m68k=y
# UCLIBC_HAS_THREADS_NATIVE is not set

View File

@ -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

View File

@ -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 is not set
# CONFIG_MIPS_ISA_MIPS32R2 is not set
CONFIG_MIPS_ISA_MIPS64=y
# CONFIG_MIPS_N32_ABI is not set
CONFIG_MIPS_N64_ABI=y
# CONFIG_MIPS_O32_ABI is not set
TARGET_ARCH="mips"
TARGET_mips=y
UCLIBC_HAS_FPU=y

View File

@ -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 is not set
# CONFIG_MIPS_ISA_MIPS32R2 is not set
CONFIG_MIPS_ISA_MIPS64=y
# CONFIG_MIPS_N32_ABI is not set
CONFIG_MIPS_N64_ABI=y
# CONFIG_MIPS_O32_ABI is not set
TARGET_ARCH="mips"
TARGET_mips=y
UCLIBC_HAS_FPU=y

View File

@ -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

View File

@ -0,0 +1,18 @@
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
UCLIBC_LINUX_MODULE_24=y

View File

@ -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=y
# CONFIG_MIPS_ISA_4 is not set
# CONFIG_MIPS_ISA_MIPS32 is not set
# 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

View File

@ -0,0 +1,6 @@
ARCH_BIG_ENDIAN=y
CONFIG_CLASSIC=y
# CONFIG_E500 is not set
TARGET_ARCH="powerpc"
TARGET_SUBARCH="classic"
TARGET_powerpc=y

View File

@ -0,0 +1,6 @@
ARCH_BIG_ENDIAN=y
# CONFIG_CLASSIC is not set
CONFIG_E500=y
TARGET_ARCH="powerpc"
TARGET_SUBARCH="classic"
TARGET_powerpc=y

View File

@ -0,0 +1,36 @@
ARCH_BIG_ENDIAN=y
ARCH_HAS_NO_MMU=y
COMPAT_ATEXIT=y
# CONFIG_UC_UBICOM32_V3 is not set
CONFIG_UC_UBICOM32_V4=y
# DOSTRIP is not set
EXCLUDE_BRK=y
FORCE_SHAREABLE_TEXT_SEGMENTS=y
LDSO_PRELOAD_FILE_SUPPORT=y
LINUXTHREADS_OLD=y
MALLOC=y
# MALLOC_STANDARD is not set
PTHREADS_DEBUG_SUPPORT=y
SUPPORT_LD_DEBUG=y
TARGET_ARCH="ubicom32"
TARGET_ubicom32=y
# UCLIBC_FORMAT_ELF is not set
UCLIBC_FORMAT_FDPIC_ELF=y
# UCLIBC_FORMAT_FLAT is not set
# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
# UCLIBC_FORMAT_SHARED_FLAT is not set
UCLIBC_HAS_FOPEN_LARGEFILE_MODE=y
UCLIBC_HAS_FPU=y
# UCLIBC_HAS_GETPT is not set
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL=y
UCLIBC_HAS_PROFILING=y
UCLIBC_HAS_REENTRANT_RPC=y
UCLIBC_HAS_STUBS=y
# UCLIBC_HAS_THREADS_NATIVE is not set
UCLIBC_HAS_XATTR=y
UCLIBC_NTP_LEGACY=y
UCLIBC_STATIC_LDCONFIG=y
UCLIBC_SV4_DEPRECATED=y
UCLIBC_UCLINUX_BROKEN_MUNMAP=y
UNIX98PTY_ONLY=y

View File

@ -0,0 +1,6 @@
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

View File

@ -0,0 +1,10 @@
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -453,7 +453,6 @@ config UCLIBC_HAS_THREADS_NATIVE
select UCLIBC_HAS_TLS
select UCLIBC_HAS_STDIO_FUTEXES
# NPTL local:
- select EXTRA_WARNINGS
# i386 has no lowlevellock support (yet) as opposed to i486 onward
depends on !CONFIG_386
help

View File

@ -0,0 +1,51 @@
--- a/include/string.h
+++ b/include/string.h
@@ -357,18 +357,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.

View File

@ -0,0 +1,14 @@
--- a/include/sys/timex.h
+++ b/include/sys/timex.h
@@ -116,9 +116,8 @@
__BEGIN_DECLS
-#if 0
-extern int __adjtimex (struct timex *__ntx) __THROW;
-#endif
+#undef __adjtimex
+#define __adjtimex adjtimex
extern int adjtimex (struct timex *__ntx) __THROW;
libc_hidden_proto(adjtimex)

View File

@ -0,0 +1,41 @@
[PATCH] ld.so: ldd crashes when __LDSO_SEARCH_INTERP_PATH__ is not #defined
Since b65c7b2c79debcb9017e31913e01eeaa280106fb, the implicit search path
can be disabled by not #defining __LDSO_SEARCH_INTERP_PATH__. This
causes _dl_ldsopath to never be set, so it remains NULL. _dl_ldsopath is
still used when __LDSO_LDD_SUPPORT__ is #defined, to strip the path off
of the beginning of the absolute path to the ld.so interpreter in use
for printing. The _dl_strlen will crash with a NULL argument.
Rather than relying on _dl_ldsopath, this change causes ldd to compute
the interpreter's basename directly.
glibc ld.so seems to print the full path to the interpreter without
any computed basename or =>. I personally prefer glibc's behavior, but
to preserve backwards compatibility with uClibc ld.so, the existing
format with the computed basename, =>, and full path is used here. This
enables simpler (and unchanged) text processing in a pipeline.
Signed-off-by: Mark Mentovai <mark at moxienet.com>
---
ldso/ldso/ldso.c | 12 +++++++++---
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -920,9 +920,15 @@
#ifdef __LDSO_LDD_SUPPORT__
/* End of the line for ldd.... */
if (trace_loaded_objects) {
- _dl_dprintf(1, "\t%s => %s (%x)\n",
- rpnt->dyn->libname + _dl_strlen(_dl_ldsopath) + 1,
- rpnt->dyn->libname, DL_LOADADDR_BASE(rpnt->dyn->loadaddr));
+ /* glibc ld.so/ldd would just do
+ * _dl_dprintf(1, "\t%s (%x)\n", rpnt->dyn->libname,
+ * DL_LOADADDR_BASE(rpnt->dyn->loadaddr));
+ * but uClibc has always used the => format. */
+ char *ptmp = _dl_strrchr(rpnt->dyn->libname, '/');
+ if (ptmp != rpnt->dyn->libname)
+ ++ptmp;
+ _dl_dprintf(1, "\t%s => %s (%x)\n", ptmp, rpnt->dyn->libname,
+ DL_LOADADDR_BASE(rpnt->dyn->loadaddr));
_dl_exit(0);
}
#endif

View File

@ -0,0 +1,10 @@
--- a/libc/sysdeps/linux/avr32/bits/atomic.h
+++ b/libc/sysdeps/linux/avr32/bits/atomic.h
@@ -28,6 +28,7 @@
#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
({ \
+ __uint32_t __result; \
__typeof__(*(mem)) __prev; \
__asm__ __volatile__( \
"/* __arch_compare_and_exchange_val_32_acq */\n" \

View File

@ -0,0 +1,11 @@
--- a/libc/sysdeps/linux/cris/sysdep.h
+++ b/libc/sysdeps/linux/cris/sysdep.h
@@ -20,6 +20,8 @@
#ifndef _SYSDEP_H_
#define _SYSDEP_H_
+#include <sys/syscall.h>
+
#ifndef C_LABEL
/* Define a macro we can use to construct the asm name for a C symbol. */

View File

@ -0,0 +1,84 @@
--- /dev/null
+++ b/libc/sysdeps/linux/cris/sys/user.h
@@ -0,0 +1,81 @@
+#ifndef __ASM_CRIS_USER_H
+#define __ASM_CRIS_USER_H
+
+/* User-mode register used for core dumps. */
+
+struct user_fpregs {
+};
+
+struct user_regs_struct {
+ unsigned long r0; /* General registers. */
+ unsigned long r1;
+ unsigned long r2;
+ unsigned long r3;
+ unsigned long r4;
+ unsigned long r5;
+ unsigned long r6;
+ unsigned long r7;
+ unsigned long r8;
+ unsigned long r9;
+ unsigned long r10;
+ unsigned long r11;
+ unsigned long r12;
+ unsigned long r13;
+ unsigned long sp; /* R14, Stack pointer. */
+ unsigned long acr; /* R15, Address calculation register. */
+ unsigned long bz; /* P0, Constant zero (8-bits). */
+ unsigned long vr; /* P1, Version register (8-bits). */
+ unsigned long pid; /* P2, Process ID (8-bits). */
+ unsigned long srs; /* P3, Support register select (8-bits). */
+ unsigned long wz; /* P4, Constant zero (16-bits). */
+ unsigned long exs; /* P5, Exception status. */
+ unsigned long eda; /* P6, Exception data address. */
+ unsigned long mof; /* P7, Multiply overflow regiter. */
+ unsigned long dz; /* P8, Constant zero (32-bits). */
+ unsigned long ebp; /* P9, Exception base pointer. */
+ unsigned long erp; /* P10, Exception return pointer. */
+ unsigned long srp; /* P11, Subroutine return pointer. */
+ unsigned long nrp; /* P12, NMI return pointer. */
+ unsigned long ccs; /* P13, Condition code stack. */
+ unsigned long usp; /* P14, User mode stack pointer. */
+ unsigned long spc; /* P15, Single step PC. */
+};
+
+/*
+ * Core file format: The core file is written in such a way that gdb
+ * can understand it and provide useful information to the user (under
+ * linux we use the `trad-core' bfd). The file contents are as follows:
+ *
+ * upage: 1 page consisting of a user struct that tells gdb
+ * what is present in the file. Directly after this is a
+ * copy of the task_struct, which is currently not used by gdb,
+ * but it may come in handy at some point. All of the registers
+ * are stored as part of the upage. The upage should always be
+ * only one page long.
+ * data: The data segment follows next. We use current->end_text to
+ * current->brk to pick up all of the user variables, plus any memory
+ * that may have been sbrk'ed. No attempt is made to determine if a
+ * page is demand-zero or if a page is totally unused, we just cover
+ * the entire range. All of the addresses are rounded in such a way
+ * that an integral number of pages is written.
+ * stack: We need the stack information in order to get a meaningful
+ * backtrace. We need to write the data from usp to
+ * current->start_stack, so we round each of these in order to be able
+ * to write an integer number of pages.
+ */
+
+struct user {
+ struct user_regs_struct regs; /* entire machine state */
+ size_t u_tsize; /* text size (pages) */
+ size_t u_dsize; /* data size (pages) */
+ size_t u_ssize; /* stack size (pages) */
+ unsigned long start_code; /* text starting address */
+ unsigned long start_data; /* data starting address */
+ unsigned long start_stack; /* stack starting address */
+ long int signal; /* signal causing core dump */
+ unsigned long u_ar0; /* help gdb find registers */
+ unsigned long magic; /* identifies a core file */
+ char u_comm[32]; /* user command name */
+};
+
+#endif /* __ASM_CRIS_USER_H */

View File

@ -0,0 +1,23 @@
--- a/include/math.h
+++ b/include/math.h
@@ -195,7 +195,7 @@
/* ISO C99 defines some generic macros which work on any data type. */
-#ifdef __USE_ISOC99
+#if defined(__USE_ISOC99) || defined(__USE_BSD)
/* Get the architecture specific values describing the floating-point
evaluation. The following symbols will get defined:
@@ -315,6 +315,11 @@
#endif /* Use ISO C99. */
+/* BSD compat */
+#define finite(x) __finite(x)
+#define finitef(x) __finitef(x)
+#define finitel(x) __finitel(x)
+
#ifdef __USE_MISC
/* Support for various different standard error handling behaviors. */
typedef enum

View File

@ -0,0 +1,11 @@
--- a/libc/stdio/_stdio.c
+++ b/libc/stdio/_stdio.c
@@ -124,7 +124,7 @@
__FLAG_NBF|__FLAG_WRITEONLY, \
2, \
NULL, \
- NULL, \
+ 0, \
0 )
};

View File

@ -0,0 +1,103 @@
--- a/libc/sysdeps/linux/powerpc/Makefile.arch
+++ b/libc/sysdeps/linux/powerpc/Makefile.arch
@@ -5,7 +5,7 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-CSRC := __syscall_error.c pread_write.c ioctl.c
+CSRC := __syscall_error.c pread_write.c ioctl.c copysignl.c
ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
CSRC += posix_fadvise.c posix_fadvise64.c
--- /dev/null
+++ b/libc/sysdeps/linux/powerpc/copysignl.c
@@ -0,0 +1,89 @@
+/* s_copysignl.c -- long double version of s_copysign.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * copysignl(long double x, long double y)
+ * copysignl(x,y) returns a value with the magnitude of x and
+ * with the sign bit of y.
+ */
+
+#include <endian.h>
+#include <stdint.h>
+
+#if __FLOAT_WORD_ORDER == BIG_ENDIAN
+
+typedef union
+{
+ long double value;
+ struct
+ {
+ int sign_exponent:16;
+ unsigned int empty:16;
+ uint32_t msw;
+ uint32_t lsw;
+ } parts;
+} ieee_long_double_shape_type;
+
+#endif
+
+#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN
+
+typedef union
+{
+ long double value;
+ struct
+ {
+ uint32_t lsw;
+ uint32_t msw;
+ int sign_exponent:16;
+ unsigned int empty:16;
+ } parts;
+} ieee_long_double_shape_type;
+
+#endif
+
+/* Get int from the exponent of a long double. */
+
+#define GET_LDOUBLE_EXP(exp,d) \
+do { \
+ ieee_long_double_shape_type ge_u; \
+ ge_u.value = (d); \
+ (exp) = ge_u.parts.sign_exponent; \
+} while (0)
+
+/* Set exponent of a long double from an int. */
+
+#define SET_LDOUBLE_EXP(d,exp) \
+do { \
+ ieee_long_double_shape_type se_u; \
+ se_u.value = (d); \
+ se_u.parts.sign_exponent = (exp); \
+ (d) = se_u.value; \
+} while (0)
+
+long double copysignl(long double x, long double y);
+libc_hidden_proto(copysignl);
+
+long double copysignl(long double x, long double y)
+{
+ uint32_t es1,es2;
+ GET_LDOUBLE_EXP(es1,x);
+ GET_LDOUBLE_EXP(es2,y);
+ SET_LDOUBLE_EXP(x,(es1&0x7fff)|(es2&0x8000));
+ return x;
+}
+
+libc_hidden_def(copysignl);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
--- a/ldso/include/dl-elf.h
+++ b/ldso/include/dl-elf.h
@@ -42,6 +42,10 @@
extern int _dl_fixup(struct dyn_elf *rpnt, int flag);
extern void _dl_protect_relro (struct elf_resolve *l);
+#ifndef DL_LOADADDR_ISSET(_loadaddr)
+#define DL_LOADADDR_ISSET(_loadaddr) ((_loadaddr) != 0)
+#endif
+
/*
* Bitsize related settings for things ElfW()
* does not handle already
@@ -163,7 +167,7 @@
dynamic_info[tag] = (unsigned long) DL_RELOC_ADDR(load_off, dynamic_info[tag]); \
} while (0)
/* Don't adjust .dynamic unnecessarily. */
- if (load_off != 0) {
+ if (DL_LOADADDR_ISSET(load_off)) {
ADJUST_DYN_INFO(DT_HASH, load_off);
ADJUST_DYN_INFO(DT_PLTGOT, load_off);
ADJUST_DYN_INFO(DT_STRTAB, load_off);
--- a/ldso/ldso/ubicom32/dl-sysdep.h
+++ b/ldso/ldso/ubicom32/dl-sysdep.h
@@ -101,6 +101,7 @@
} while (0)
#define DL_LOADADDR_TYPE struct elf32_fdpic_loadaddr
+#define DL_LOADADDR_ISSET(_loadaddr) ((_loadaddr).map != NULL)
#define DL_RELOC_ADDR(LOADADDR, ADDR) \
((ElfW(Addr))__reloc_pointer ((void*)(ADDR), (LOADADDR).map))