mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-27 21:08:26 +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:
parent
2eeb3edee1
commit
949d9c1fe0
@ -16,9 +16,8 @@ choice
|
|||||||
config UCLIBC_VERSION_0_9_30_3
|
config UCLIBC_VERSION_0_9_30_3
|
||||||
bool "uClibc 0.9.30.3"
|
bool "uClibc 0.9.30.3"
|
||||||
|
|
||||||
config UCLIBC_VERSION_NPTL
|
config UCLIBC_VERSION_0_9_32
|
||||||
bool "uClibc NPTL branch"
|
bool "uClibc 0.9.32 (with nptl support)"
|
||||||
depends BROKEN
|
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -4,5 +4,5 @@ config UCLIBC_VERSION
|
|||||||
default "0.9.30.1" if UCLIBC_VERSION_0_9_30_1
|
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.2" if UCLIBC_VERSION_0_9_30_2
|
||||||
default "0.9.30.3" if UCLIBC_VERSION_0_9_30_3
|
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"
|
default "0.9.30.1"
|
||||||
|
@ -9,13 +9,13 @@ include $(INCLUDE_DIR)/target.mk
|
|||||||
|
|
||||||
PKG_NAME:=uClibc
|
PKG_NAME:=uClibc
|
||||||
PKG_VERSION:=$(call qstrip,$(CONFIG_UCLIBC_VERSION))
|
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_URL:=git://git.busybox.net/uClibc
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=ef18cfe8ebab25f5ef92e81956f50e2dc57df602
|
PKG_SOURCE_VERSION:=e2903ddb06b1f50cb4ac9af0b035c74ed6b9d30f
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
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
|
else
|
||||||
PKG_SOURCE_URL:=http://www.uclibc.org/downloads
|
PKG_SOURCE_URL:=http://www.uclibc.org/downloads
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
@ -25,8 +25,7 @@ PATCH_DIR:=./patches-$(PKG_VERSION)
|
|||||||
CONFIG_DIR:=./config-$(PKG_VERSION)
|
CONFIG_DIR:=./config-$(PKG_VERSION)
|
||||||
|
|
||||||
PKG_MD5SUM_0.9.30.1 = 1a4b84e5536ad8170563ffa88c34679c
|
PKG_MD5SUM_0.9.30.1 = 1a4b84e5536ad8170563ffa88c34679c
|
||||||
PKG_MD5SUM_0.9.30.2 = e759ec855500082ac3e671dd6cacfdb0
|
PKG_MD5SUM_0.9.31 = 52fb8a494758630c8d3ddd7f1e0daafd
|
||||||
PKG_MD5SUM_0.9.30.3 = 73a4bf4a0fa508b01a7a3143574e3d21
|
|
||||||
PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION))
|
PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION))
|
||||||
|
|
||||||
HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)
|
HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
25
toolchain/uClibc/config-0.9.32/arm
Normal file
25
toolchain/uClibc/config-0.9.32/arm
Normal 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
|
25
toolchain/uClibc/config-0.9.32/arm.cns3xxx
Normal file
25
toolchain/uClibc/config-0.9.32/arm.cns3xxx
Normal 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
|
26
toolchain/uClibc/config-0.9.32/arm.gemini
Normal file
26
toolchain/uClibc/config-0.9.32/arm.gemini
Normal 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
|
25
toolchain/uClibc/config-0.9.32/armeb
Normal file
25
toolchain/uClibc/config-0.9.32/armeb
Normal 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
|
12
toolchain/uClibc/config-0.9.32/avr32
Normal file
12
toolchain/uClibc/config-0.9.32/avr32
Normal 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
|
196
toolchain/uClibc/config-0.9.32/common
Normal file
196
toolchain/uClibc/config-0.9.32/common
Normal 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"
|
8
toolchain/uClibc/config-0.9.32/cris
Normal file
8
toolchain/uClibc/config-0.9.32/cris
Normal 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
|
6
toolchain/uClibc/config-0.9.32/debug
Normal file
6
toolchain/uClibc/config-0.9.32/debug
Normal 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
|
21
toolchain/uClibc/config-0.9.32/i386
Normal file
21
toolchain/uClibc/config-0.9.32/i386
Normal 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
|
21
toolchain/uClibc/config-0.9.32/i686
Normal file
21
toolchain/uClibc/config-0.9.32/i686
Normal 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
|
6
toolchain/uClibc/config-0.9.32/m68k
Normal file
6
toolchain/uClibc/config-0.9.32/m68k
Normal 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
|
17
toolchain/uClibc/config-0.9.32/mips
Normal file
17
toolchain/uClibc/config-0.9.32/mips
Normal 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
|
17
toolchain/uClibc/config-0.9.32/mips64
Normal file
17
toolchain/uClibc/config-0.9.32/mips64
Normal 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
|
17
toolchain/uClibc/config-0.9.32/mips64el
Normal file
17
toolchain/uClibc/config-0.9.32/mips64el
Normal 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
|
17
toolchain/uClibc/config-0.9.32/mipsel
Normal file
17
toolchain/uClibc/config-0.9.32/mipsel
Normal 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
|
18
toolchain/uClibc/config-0.9.32/mipsel.brcm-2.4
Normal file
18
toolchain/uClibc/config-0.9.32/mipsel.brcm-2.4
Normal 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
|
17
toolchain/uClibc/config-0.9.32/mipsel.cobalt
Normal file
17
toolchain/uClibc/config-0.9.32/mipsel.cobalt
Normal 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
|
6
toolchain/uClibc/config-0.9.32/powerpc
Normal file
6
toolchain/uClibc/config-0.9.32/powerpc
Normal 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
|
6
toolchain/uClibc/config-0.9.32/powerpc.mpc85xx
Normal file
6
toolchain/uClibc/config-0.9.32/powerpc.mpc85xx
Normal 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
|
36
toolchain/uClibc/config-0.9.32/ubicom32
Normal file
36
toolchain/uClibc/config-0.9.32/ubicom32
Normal 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
|
6
toolchain/uClibc/config-0.9.32/x86_64
Normal file
6
toolchain/uClibc/config-0.9.32/x86_64
Normal 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
|
@ -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
|
51
toolchain/uClibc/patches-0.9.32/110-compat_macros.patch
Normal file
51
toolchain/uClibc/patches-0.9.32/110-compat_macros.patch
Normal 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.
|
14
toolchain/uClibc/patches-0.9.32/120-adjtimex.patch
Normal file
14
toolchain/uClibc/patches-0.9.32/120-adjtimex.patch
Normal 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)
|
||||||
|
|
@ -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
|
10
toolchain/uClibc/patches-0.9.32/140-avr32_atomic_fix.patch
Normal file
10
toolchain/uClibc/patches-0.9.32/140-avr32_atomic_fix.patch
Normal 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" \
|
@ -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. */
|
@ -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 */
|
23
toolchain/uClibc/patches-0.9.32/170-math_finite.patch
Normal file
23
toolchain/uClibc/patches-0.9.32/170-math_finite.patch
Normal 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
|
11
toolchain/uClibc/patches-0.9.32/410-llvm_workaround.patch
Normal file
11
toolchain/uClibc/patches-0.9.32/410-llvm_workaround.patch
Normal 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 )
|
||||||
|
};
|
||||||
|
|
103
toolchain/uClibc/patches-0.9.32/450-powerpc_copysignl.patch
Normal file
103
toolchain/uClibc/patches-0.9.32/450-powerpc_copysignl.patch
Normal 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);
|
4340
toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch
Normal file
4340
toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -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))
|
Loading…
Reference in New Issue
Block a user