mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-24 05:34:36 +02:00
uClibc: remove 0.9.30, 0.9.31
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25542 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
15fba44a5b
commit
d52a5ec1ec
@ -7,12 +7,6 @@ choice
|
||||
help
|
||||
Select the version of uClibc you wish to use.
|
||||
|
||||
config UCLIBC_VERSION_0_9_30_1
|
||||
bool "uClibc 0.9.30.1"
|
||||
|
||||
config UCLIBC_VERSION_0_9_31
|
||||
bool "uClibc 0.9.31"
|
||||
|
||||
config UCLIBC_VERSION_0_9_32
|
||||
bool "uClibc 0.9.32-git"
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
config UCLIBC_VERSION
|
||||
string
|
||||
depends on USE_UCLIBC
|
||||
default "0.9.30.1" if UCLIBC_VERSION_0_9_30_1
|
||||
default "0.9.31" if UCLIBC_VERSION_0_9_31
|
||||
default "0.9.32" if UCLIBC_VERSION_0_9_32
|
||||
default "0.9.32"
|
||||
|
@ -24,8 +24,6 @@ endif
|
||||
PATCH_DIR:=./patches-$(PKG_VERSION)
|
||||
CONFIG_DIR:=./config-$(PKG_VERSION)
|
||||
|
||||
PKG_MD5SUM_0.9.30.1 = 1a4b84e5536ad8170563ffa88c34679c
|
||||
PKG_MD5SUM_0.9.31 = 52fb8a494758630c8d3ddd7f1e0daafd
|
||||
PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION))
|
||||
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
@ -1,25 +0,0 @@
|
||||
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
|
@ -1,26 +0,0 @@
|
||||
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
|
@ -1,25 +0,0 @@
|
||||
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
|
@ -1,26 +0,0 @@
|
||||
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
|
@ -1,25 +0,0 @@
|
||||
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
|
@ -1,10 +0,0 @@
|
||||
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
|
@ -1,179 +0,0 @@
|
||||
# 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 is not set
|
||||
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_OLD=y
|
||||
# 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_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 is not set
|
||||
# UCLIBC_HAS_ARC4RANDOM is not set
|
||||
UCLIBC_HAS_BSD_ERR=y
|
||||
UCLIBC_HAS_BSD_RES_CLOSE=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_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 is not set
|
||||
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 is not set
|
||||
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_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=y
|
||||
UCLIBC_SUSV3_LEGACY=y
|
||||
UCLIBC_SUSV3_LEGACY_MACROS=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"
|
@ -1,6 +0,0 @@
|
||||
ARCH_LITTLE_ENDIAN=y
|
||||
CONFIG_CRIS=y
|
||||
# CONFIG_CRISV32 is not set
|
||||
TARGET_ARCH="cris"
|
||||
TARGET_cris=y
|
||||
UCLIBC_HAS_FPU=y
|
@ -1,6 +0,0 @@
|
||||
DODEBUG=y
|
||||
DODEBUG_PT=y
|
||||
PTHREADS_DEBUG_SUPPORT=y
|
||||
SUPPORT_LD_DEBUG=y
|
||||
SUPPORT_LD_DEBUG_EARLY=y
|
||||
UCLIBC_MALLOC_DEBUGGING=y
|
@ -1,22 +0,0 @@
|
||||
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
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,22 +0,0 @@
|
||||
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
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,5 +0,0 @@
|
||||
ARCH_BIG_ENDIAN=y
|
||||
TARGET_ARCH="m68k"
|
||||
TARGET_SUBARCH=""
|
||||
TARGET_m68k=y
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,18 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,7 +0,0 @@
|
||||
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
|
@ -1,8 +0,0 @@
|
||||
ARCH_BIG_ENDIAN=y
|
||||
# CONFIG_SPARC_V7 is not set
|
||||
# CONFIG_SPARC_V8 is not set
|
||||
CONFIG_SPARC_V9=y
|
||||
# CONFIG_SPARC_V9B is not set
|
||||
TARGET_ARCH="sparc"
|
||||
TARGET_sparc=y
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,8 +0,0 @@
|
||||
ARCH_BIG_ENDIAN=y
|
||||
# CONFIG_SPARC_V7 is not set
|
||||
CONFIG_SPARC_V8=y
|
||||
# CONFIG_SPARC_V9 is not set
|
||||
# CONFIG_SPARC_V9B is not set
|
||||
TARGET_ARCH="sparc"
|
||||
TARGET_sparc=y
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,35 +0,0 @@
|
||||
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
|
||||
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_ADVANCED_REALTIME=y
|
||||
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_XATTR=y
|
||||
UCLIBC_NTP_LEGACY=y
|
||||
UCLIBC_STATIC_LDCONFIG=y
|
||||
UCLIBC_SV4_DEPRECATED=y
|
||||
UCLIBC_UCLINUX_BROKEN_MUNMAP=y
|
||||
UNIX98PTY_ONLY=y
|
@ -1,7 +0,0 @@
|
||||
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
|
@ -1,25 +0,0 @@
|
||||
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
|
@ -1,26 +0,0 @@
|
||||
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
|
@ -1,25 +0,0 @@
|
||||
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
|
@ -1,26 +0,0 @@
|
||||
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
|
@ -1,25 +0,0 @@
|
||||
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
|
@ -1,10 +0,0 @@
|
||||
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
|
@ -1,190 +0,0 @@
|
||||
# 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 is not set
|
||||
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_RUNPATH=y
|
||||
# LDSO_SEARCH_INTERP_PATH is not set
|
||||
# LINUXTHREADS_NEW is not set
|
||||
LINUXTHREADS_OLD=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 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 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 is not set
|
||||
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_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 is not set
|
||||
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_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=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_USE_NETLINK=y
|
||||
# UNIX98PTY_ONLY is not set
|
||||
USE_BX=y
|
||||
WARNINGS="-Wall"
|
@ -1,6 +0,0 @@
|
||||
ARCH_LITTLE_ENDIAN=y
|
||||
CONFIG_CRIS=y
|
||||
# CONFIG_CRISV32 is not set
|
||||
TARGET_ARCH="cris"
|
||||
TARGET_cris=y
|
||||
UCLIBC_HAS_FPU=y
|
@ -1,6 +0,0 @@
|
||||
DODEBUG=y
|
||||
DODEBUG_PT=y
|
||||
PTHREADS_DEBUG_SUPPORT=y
|
||||
SUPPORT_LD_DEBUG=y
|
||||
SUPPORT_LD_DEBUG_EARLY=y
|
||||
UCLIBC_MALLOC_DEBUGGING=y
|
@ -1,22 +0,0 @@
|
||||
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
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,22 +0,0 @@
|
||||
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
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,5 +0,0 @@
|
||||
ARCH_BIG_ENDIAN=y
|
||||
TARGET_ARCH="m68k"
|
||||
TARGET_SUBARCH=""
|
||||
TARGET_m68k=y
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,18 +0,0 @@
|
||||
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
|
@ -1,17 +0,0 @@
|
||||
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
|
@ -1,7 +0,0 @@
|
||||
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
|
@ -1,7 +0,0 @@
|
||||
ARCH_BIG_ENDIAN=y
|
||||
# CONFIG_CLASSIC is not set
|
||||
CONFIG_E500=y
|
||||
TARGET_ARCH="powerpc"
|
||||
TARGET_SUBARCH="classic"
|
||||
TARGET_powerpc=y
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,8 +0,0 @@
|
||||
ARCH_BIG_ENDIAN=y
|
||||
# CONFIG_SPARC_V7 is not set
|
||||
# CONFIG_SPARC_V8 is not set
|
||||
CONFIG_SPARC_V9=y
|
||||
# CONFIG_SPARC_V9B is not set
|
||||
TARGET_ARCH="sparc"
|
||||
TARGET_sparc=y
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,8 +0,0 @@
|
||||
ARCH_BIG_ENDIAN=y
|
||||
# CONFIG_SPARC_V7 is not set
|
||||
CONFIG_SPARC_V8=y
|
||||
# CONFIG_SPARC_V9 is not set
|
||||
# CONFIG_SPARC_V9B is not set
|
||||
TARGET_ARCH="sparc"
|
||||
TARGET_sparc=y
|
||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
@ -1,35 +0,0 @@
|
||||
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
|
||||
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_ADVANCED_REALTIME=y
|
||||
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_XATTR=y
|
||||
UCLIBC_NTP_LEGACY=y
|
||||
UCLIBC_STATIC_LDCONFIG=y
|
||||
UCLIBC_SV4_DEPRECATED=y
|
||||
UCLIBC_UCLINUX_BROKEN_MUNMAP=y
|
||||
UNIX98PTY_ONLY=y
|
@ -1,7 +0,0 @@
|
||||
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
|
@ -1,51 +0,0 @@
|
||||
--- ./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.
|
@ -1,14 +0,0 @@
|
||||
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;
|
@ -1,10 +0,0 @@
|
||||
--- a/libc/unistd/daemon.c
|
||||
+++ b/libc/unistd/daemon.c
|
||||
@@ -54,7 +54,6 @@
|
||||
libc_hidden_proto(dup2)
|
||||
libc_hidden_proto(setsid)
|
||||
libc_hidden_proto(chdir)
|
||||
-libc_hidden_proto(fork)
|
||||
|
||||
int daemon( int nochdir, int noclose )
|
||||
{
|
@ -1,11 +0,0 @@
|
||||
--- a/libc/sysdeps/linux/common/bits/mathcalls.h
|
||||
+++ b/libc/sysdeps/linux/common/bits/mathcalls.h
|
||||
@@ -229,7 +229,7 @@
|
||||
|
||||
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
-__MATHDECL_PRIV (int,__isnan,, (_Mdouble_ __value), (__const__));
|
||||
+__MATHDECL_PRIV (int,isnan,, (_Mdouble_ __value), (__const__));
|
||||
|
||||
#if defined __USE_MISC || defined __USE_XOPEN
|
||||
/* Return nonzero if VALUE is not a number. */
|
@ -1,474 +0,0 @@
|
||||
Index: uClibc-0.9.30.1/libm/ldouble_wrappers.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libm/ldouble_wrappers.c (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libm/ldouble_wrappers.c (working copy)
|
||||
@@ -13,6 +13,16 @@
|
||||
#include "math.h"
|
||||
#include <complex.h>
|
||||
|
||||
+#if defined __NO_LONG_DOUBLE_MATH
|
||||
+# define int_WRAPPER_C99(func) /* not needed */
|
||||
+# else
|
||||
+# define int_WRAPPER_C99(func) \
|
||||
+int func##l(long double x) \
|
||||
+{ \
|
||||
+ return func((double) x); \
|
||||
+} \
|
||||
+libm_hidden_def(func##l)
|
||||
+#endif
|
||||
|
||||
/* Implement the following, as defined by SuSv3 */
|
||||
#if 0
|
||||
@@ -543,46 +553,28 @@ long double truncl (long double x)
|
||||
#endif
|
||||
|
||||
|
||||
-#ifdef __DO_C99_MATH__
|
||||
+#if defined __DO_C99_MATH__
|
||||
|
||||
#ifdef L_fpclassifyl
|
||||
-int __fpclassifyl (long double x)
|
||||
-{
|
||||
- return __fpclassify ( (double) x );
|
||||
-}
|
||||
-libm_hidden_def(__fpclassifyl)
|
||||
+int_WRAPPER_C99(__fpclassify)
|
||||
#endif
|
||||
|
||||
#ifdef L_finitel
|
||||
-int __finitel (long double x)
|
||||
-{
|
||||
- return __finite ( (double)x );
|
||||
-}
|
||||
-libm_hidden_def(__finitel)
|
||||
+int_WRAPPER_C99(__finite)
|
||||
#endif
|
||||
|
||||
#ifdef L_signbitl
|
||||
-int __signbitl (long double x)
|
||||
-{
|
||||
- return __signbitl ( (double)x );
|
||||
-}
|
||||
-libm_hidden_def(__signbitl)
|
||||
+int_WRAPPER_C99(__signbit)
|
||||
#endif
|
||||
|
||||
#ifdef L_isnanl
|
||||
-int __isnanl (long double x)
|
||||
-{
|
||||
- return __isnan ( (double)x );
|
||||
-}
|
||||
-libm_hidden_def(__isnanl)
|
||||
+int_WRAPPER_C99(__isnan)
|
||||
#endif
|
||||
|
||||
#ifdef L_isinfl
|
||||
-int __isinfl (long double x)
|
||||
-{
|
||||
- return __isinf ( (double)x );
|
||||
-}
|
||||
-libm_hidden_def(__isinfl)
|
||||
+int_WRAPPER_C99(__isinf)
|
||||
#endif
|
||||
|
||||
-#endif
|
||||
+#endif /* DO_C99_MATH */
|
||||
+
|
||||
+#undef int_WRAPPER_C99
|
||||
Index: uClibc-0.9.30.1/libm/nan.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libm/nan.c (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libm/nan.c (working copy)
|
||||
@@ -45,7 +45,7 @@ float nanf (const char *tagp)
|
||||
}
|
||||
libm_hidden_def(nanf)
|
||||
|
||||
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH
|
||||
libm_hidden_proto(nanl)
|
||||
long double nanl (const char *tagp)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/include/math.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/include/math.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/include/math.h (working copy)
|
||||
@@ -118,7 +118,7 @@ __BEGIN_DECLS
|
||||
# undef __MATH_PRECNAME
|
||||
|
||||
# if (__STDC__ - 0 || __GNUC__ - 0) \
|
||||
- && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT)
|
||||
+ && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT)
|
||||
# ifdef __LDBL_COMPAT
|
||||
|
||||
# ifdef __USE_ISOC99
|
||||
@@ -230,7 +230,7 @@ enum
|
||||
};
|
||||
|
||||
/* Return number of classification appropriate for X. */
|
||||
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define fpclassify(x) \
|
||||
(sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
|
||||
# else
|
||||
@@ -242,7 +242,7 @@ enum
|
||||
# endif
|
||||
|
||||
/* Return nonzero value if sign of X is negative. */
|
||||
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define signbit(x) \
|
||||
(sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
|
||||
# else
|
||||
@@ -254,7 +254,7 @@ enum
|
||||
# endif
|
||||
|
||||
/* Return nonzero value if X is not +-Inf or NaN. */
|
||||
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isfinite(x) \
|
||||
(sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
|
||||
# else
|
||||
@@ -270,7 +270,7 @@ enum
|
||||
|
||||
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
|
||||
we already have this functions `__isnan' and it is faster. */
|
||||
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isnan(x) \
|
||||
(sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
|
||||
# else
|
||||
@@ -282,7 +282,7 @@ enum
|
||||
# endif
|
||||
|
||||
/* Return nonzero value is X is positive or negative infinity. */
|
||||
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isinf(x) \
|
||||
(sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
|
||||
# else
|
||||
Index: uClibc-0.9.30.1/include/tgmath.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/include/tgmath.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/include/tgmath.h (working copy)
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
#if __GNUC_PREREQ (2, 7)
|
||||
|
||||
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define __tgml(fct) fct
|
||||
# else
|
||||
# define __tgml(fct) fct ## l
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (working copy)
|
||||
@@ -7,13 +7,13 @@
|
||||
# define __WORDSIZE 32
|
||||
#endif
|
||||
|
||||
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
|
||||
/* Signal the glibc ABI didn't used to have a `long double'.
|
||||
The changes all the `long double' function variants to be redirects
|
||||
to the double functions. */
|
||||
# define __LONG_DOUBLE_MATH_OPTIONAL 1
|
||||
# ifndef __LONG_DOUBLE_128__
|
||||
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (working copy)
|
||||
@@ -65,11 +65,13 @@ typedef double double_t;
|
||||
|
||||
#endif /* ISO C99 */
|
||||
|
||||
-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
#include <bits/wordsize.h>
|
||||
/* Signal that we do not really have a `long double'. The disables the
|
||||
declaration of all the `long double' function variants. */
|
||||
# if __WORDSIZE == 32
|
||||
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif /* __WORDSIZE == 32 */
|
||||
-#endif /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */
|
||||
+#endif /* __NO_LONG_DOUBLE_MATH */
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h (working copy)
|
||||
@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp
|
||||
# define FP_ILOGBNAN (2147483647)
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
+/* Signal that we do not really have a `long double'. This disables the
|
||||
+ declaration of all the `long double' function variants. */
|
||||
+/* XXX The FPA does support this but the patterns in GCC are currently
|
||||
+ turned off. */
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h (working copy)
|
||||
@@ -36,3 +36,7 @@ typedef long double double_t; /* `double
|
||||
# define FP_ILOGBNAN (2147483647)
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h (working copy)
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
#define __WORDSIZE 64
|
||||
|
||||
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
|
||||
/* Signal that we didn't used to have a `long double'. The changes all
|
||||
the `long double' function variants to be redirects to the double
|
||||
functions. */
|
||||
# define __LONG_DOUBLE_MATH_OPTIONAL 1
|
||||
# ifndef __LONG_DOUBLE_128__
|
||||
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h (working copy)
|
||||
@@ -78,3 +78,7 @@ typedef double double_t;
|
||||
|
||||
# endif /* GNUC before 3.4 */
|
||||
#endif /* COMPLEX_H */
|
||||
+
|
||||
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h (working copy)
|
||||
@@ -35,3 +35,9 @@ typedef double double_t; /* `double' exp
|
||||
# define FP_ILOGBNAN 2147483647
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
+/* Signal that we do not really have a `long double'. The disables the
|
||||
+ declaration of all the `long double' function variants. */
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h (working copy)
|
||||
@@ -44,3 +44,7 @@ typedef long double double_t; /* `double
|
||||
# define FP_ILOGBNAN (-2147483647 - 1)
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h (working copy)
|
||||
@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp
|
||||
# define FP_ILOGBNAN (2147483647)
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
+/* Signal that we do not really have a `long double'. This disables the
|
||||
+ declaration of all the `long double' function variants. */
|
||||
+/* XXX The FPA does support this but the patterns in GCC are currently
|
||||
+ turned off. */
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h (working copy)
|
||||
@@ -46,3 +46,7 @@ typedef long double double_t; /* `double
|
||||
# define FP_ILOGBNAN (-2147483647 - 1)
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h (working copy)
|
||||
@@ -36,8 +36,8 @@ typedef double double_t; /* `double' exp
|
||||
|
||||
#endif /* ISO C99 */
|
||||
|
||||
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
/* Signal that we do not really have a `long double'. The disables the
|
||||
declaration of all the `long double' function variants. */
|
||||
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h (working copy)
|
||||
@@ -35,3 +35,7 @@ typedef double double_t; /* `double' exp
|
||||
# define FP_ILOGBNAN 2147483647
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h (working copy)
|
||||
@@ -39,8 +39,10 @@ typedef double double_t; /* `double' exp
|
||||
|
||||
#endif /* ISO C99 */
|
||||
|
||||
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32
|
||||
+#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
|
||||
/* Signal that we do not really have a `long double'. This disables the
|
||||
declaration of all the `long double' function variants. */
|
||||
-# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h (working copy)
|
||||
@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp
|
||||
# define FP_ILOGBNAN (2147483647)
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
+/* Signal that we do not really have a `long double'. This disables the
|
||||
+ declaration of all the `long double' function variants. */
|
||||
+/* XXX The FPA does support this but the patterns in GCC are currently
|
||||
+ turned off. */
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h (working copy)
|
||||
@@ -6,7 +6,7 @@
|
||||
# define __WORDSIZE 32
|
||||
#endif
|
||||
|
||||
-#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
|
||||
+#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
|
||||
|
||||
# if __WORDSIZE == 32
|
||||
/* Signal that in 32bit ABI we didn't used to have a `long double'.
|
||||
@@ -14,7 +14,7 @@
|
||||
to the double functions. */
|
||||
# define __LONG_DOUBLE_MATH_OPTIONAL 1
|
||||
# ifndef __LONG_DOUBLE_128__
|
||||
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h (working copy)
|
||||
@@ -57,13 +57,15 @@ typedef double double_t;
|
||||
|
||||
#endif /* ISO C99 */
|
||||
|
||||
-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
|
||||
# if __WORDSIZE == 32
|
||||
/* Signal that in 32bit ABI we do not really have a `long double'.
|
||||
The disables the declaration of all the `long double' function
|
||||
variants. */
|
||||
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
|
||||
#endif
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (working copy)
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
# if __WORDSIZE == 32
|
||||
|
||||
-# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifndef __NO_LONG_DOUBLE_MATH
|
||||
|
||||
# define __unordered_cmp(x, y) \
|
||||
(__extension__ \
|
||||
@@ -157,7 +157,7 @@ __NTH (__signbit (double __x))
|
||||
return __u.__i[0] < 0;
|
||||
}
|
||||
|
||||
-# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# ifndef __NO_LONG_DOUBLE_MATH
|
||||
__MATH_INLINE int
|
||||
__NTH (__signbitl (long double __x))
|
||||
{
|
||||
@@ -219,7 +219,7 @@ __NTH (sqrtl (long double __x))
|
||||
_Qp_sqrt (&__r, &__x);
|
||||
return __r;
|
||||
}
|
||||
-# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# elif !defined __NO_LONG_DOUBLE_MATH
|
||||
__MATH_INLINE long double
|
||||
sqrtl (long double __x) __THROW
|
||||
{
|
||||
@@ -257,7 +257,7 @@ __ieee754_sqrtl (long double __x)
|
||||
_Qp_sqrt(&__r, &__x);
|
||||
return __r;
|
||||
}
|
||||
-# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
||||
+# elif !defined __NO_LONG_DOUBLE_MATH
|
||||
__MATH_INLINE long double
|
||||
__ieee754_sqrtl (long double __x)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h (revision 25552)
|
||||
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h (working copy)
|
||||
@@ -61,3 +61,9 @@ typedef double double_t;
|
||||
# define FP_ILOGBNAN 0x7fffffff
|
||||
|
||||
#endif /* ISO C99 */
|
||||
+
|
||||
+#ifndef __NO_LONG_DOUBLE_MATH
|
||||
+/* Signal that we do not really have a `long double'. The disables the
|
||||
+ declaration of all the `long double' function variants. */
|
||||
+# define __NO_LONG_DOUBLE_MATH 1
|
||||
+#endif
|
@ -1,43 +0,0 @@
|
||||
Index: uClibc-0.9.30.1/extra/scripts/unifdef.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c 2008-04-28 01:10:00.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/extra/scripts/unifdef.c 2009-08-25 15:20:08.000000000 +0200
|
||||
@@ -206,7 +206,11 @@
|
||||
static void error(const char *);
|
||||
static int findsym(const char *);
|
||||
static void flushline(bool);
|
||||
-static Linetype getline(void);
|
||||
+#ifndef __CYGWIN__
|
||||
+static Linetype __getline(void);
|
||||
+#else
|
||||
+static Linetype get_line(void);
|
||||
+#endif
|
||||
static Linetype ifeval(const char **);
|
||||
static void ignoreoff(void);
|
||||
static void ignoreon(void);
|
||||
@@ -512,7 +516,11 @@
|
||||
|
||||
for (;;) {
|
||||
linenum++;
|
||||
- lineval = getline();
|
||||
+#ifndef __CYGWIN__
|
||||
+ lineval = __getline();
|
||||
+#else
|
||||
+ lineval = get_line();
|
||||
+#endif
|
||||
trans_table[ifstate[depth]][lineval]();
|
||||
debug("process %s -> %s depth %d",
|
||||
linetype_name[lineval],
|
||||
@@ -526,7 +534,11 @@
|
||||
* help from skipcomment().
|
||||
*/
|
||||
static Linetype
|
||||
-getline(void)
|
||||
+#ifndef __CYGWIN__
|
||||
+__getline(void)
|
||||
+#else
|
||||
+get_line(void)
|
||||
+#endif
|
||||
{
|
||||
const char *cp;
|
||||
int cursym;
|
@ -1,23 +0,0 @@
|
||||
--- a/include/math.h
|
||||
+++ b/include/math.h
|
||||
@@ -179,7 +179,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:
|
||||
@@ -299,6 +299,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
|
@ -1,371 +0,0 @@
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h (working copy)
|
||||
@@ -15,7 +15,7 @@
|
||||
GOT_BASE[1] = (unsigned long) MODULE; \
|
||||
}
|
||||
|
||||
-static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
|
||||
+static __always_inline unsigned long arm_modulus(unsigned long m, unsigned long p)
|
||||
{
|
||||
unsigned long i,t,inc;
|
||||
i=p; t=0;
|
||||
@@ -72,7 +72,7 @@ unsigned long _dl_linux_resolver(struct
|
||||
first element of the GOT. We used to use the PIC register to do this
|
||||
without a constant pool reference, but GCC 4.2 will use a pseudo-register
|
||||
for the PIC base, so it may not be in r10. */
|
||||
-static __inline__ Elf32_Addr __attribute__ ((unused))
|
||||
+static __always_inline Elf32_Addr __attribute__ ((unused))
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
Elf32_Addr dynamic;
|
||||
@@ -104,7 +104,7 @@ elf_machine_dynamic (void)
|
||||
}
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr __attribute__ ((unused))
|
||||
+static __always_inline Elf32_Addr __attribute__ ((unused))
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
extern void __dl_start __asm__ ("_dl_start");
|
||||
@@ -128,7 +128,7 @@ elf_machine_load_address (void)
|
||||
return pcrel_addr - got_addr;
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h (working copy)
|
||||
@@ -90,7 +90,7 @@ void _dl_init_got(unsigned long *lpnt,st
|
||||
#define ELF_MACHINE_PLTREL_OVERLAP 1
|
||||
|
||||
/* Return the value of the GOT pointer. */
|
||||
-static __inline__ Elf32_Addr * __attribute__ ((const))
|
||||
+static __always_inline Elf32_Addr * __attribute__ ((const))
|
||||
ppc_got (void)
|
||||
{
|
||||
Elf32_Addr *got;
|
||||
@@ -109,14 +109,14 @@ ppc_got (void)
|
||||
|
||||
/* Return the link-time address of _DYNAMIC, stored as
|
||||
the first value in the GOT. */
|
||||
-static __inline__ Elf32_Addr __attribute__ ((const))
|
||||
+static __always_inline Elf32_Addr __attribute__ ((const))
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
return *ppc_got();
|
||||
}
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr __attribute__ ((const))
|
||||
+static __always_inline Elf32_Addr __attribute__ ((const))
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
Elf32_Addr *branchaddr;
|
||||
@@ -164,7 +164,7 @@ elf_machine_load_address (void)
|
||||
return runtime_dynamic - elf_machine_dynamic ();
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h (working copy)
|
||||
@@ -42,7 +42,7 @@ extern unsigned long _dl_linux_resolver(
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. */
|
||||
-static __inline__ Elf32_Addr elf_machine_dynamic(void)
|
||||
+static __always_inline Elf32_Addr elf_machine_dynamic(void)
|
||||
{
|
||||
register Elf32_Addr *got;
|
||||
|
||||
@@ -70,7 +70,7 @@ static __inline__ Elf32_Addr elf_machine
|
||||
}
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr elf_machine_load_address(void)
|
||||
+static __always_inline Elf32_Addr elf_machine_load_address(void)
|
||||
{
|
||||
Elf32_Addr addr;
|
||||
|
||||
@@ -123,7 +123,7 @@ static __inline__ Elf32_Addr elf_machine
|
||||
} \
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h (working copy)
|
||||
@@ -41,7 +41,7 @@ extern unsigned long _dl_linux_resolver
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. */
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register Elf32_Addr *got __asm__ ("%a5");
|
||||
@@ -50,7 +50,7 @@ elf_machine_dynamic (void)
|
||||
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
Elf32_Addr addr;
|
||||
@@ -60,7 +60,7 @@ elf_machine_load_address (void)
|
||||
return addr;
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h (working copy)
|
||||
@@ -42,8 +42,8 @@ extern unsigned long _dl_linux_resolver(
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. */
|
||||
-static __inline__ Elf32_Addr elf_machine_dynamic (void) attribute_unused;
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr elf_machine_dynamic (void) attribute_unused;
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register Elf32_Addr *got __asm__ ("%ebx");
|
||||
@@ -52,8 +52,8 @@ elf_machine_dynamic (void)
|
||||
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr elf_machine_load_address (void) attribute_unused;
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr elf_machine_load_address (void) attribute_unused;
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
/* It doesn't matter what variable this is, the reference never makes
|
||||
@@ -66,7 +66,7 @@ elf_machine_load_address (void)
|
||||
return addr;
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h (working copy)
|
||||
@@ -39,7 +39,7 @@ extern unsigned long _dl_linux_resolver(
|
||||
|| ((type) == R_CRIS_GLOB_DAT)) * ELF_RTYPE_CLASS_PLT) \
|
||||
| (((type) == R_CRIS_COPY) * ELF_RTYPE_CLASS_COPY))
|
||||
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_dynamic(void)
|
||||
{
|
||||
/* Don't just set this to an asm variable "r0" since that's not logical
|
||||
@@ -61,7 +61,7 @@ elf_machine_dynamic(void)
|
||||
there's some other symbol we could use, that we don't *have* to force a
|
||||
GOT entry for. */
|
||||
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_load_address(void)
|
||||
{
|
||||
Elf32_Addr gotaddr_diff;
|
||||
@@ -95,7 +95,7 @@ elf_machine_load_address(void)
|
||||
return gotaddr_diff;
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h (working copy)
|
||||
@@ -87,7 +87,7 @@ extern unsigned long _dl_linux_resolver
|
||||
(((type) == R_XTENSA_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
|
||||
|
||||
/* Return the link-time address of _DYNAMIC. */
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
/* This function is only used while bootstrapping the runtime linker.
|
||||
@@ -97,7 +97,7 @@ elf_machine_dynamic (void)
|
||||
}
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
Elf32_Addr addr, tmp;
|
||||
@@ -118,7 +118,7 @@ elf_machine_load_address (void)
|
||||
return addr - 3;
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h (working copy)
|
||||
@@ -49,7 +49,7 @@ unsigned long _dl_linux_resolver(struct
|
||||
|
||||
#ifndef COMPILE_ASM
|
||||
/* Cheap modulo implementation, taken from arm/ld_sysdep.h. */
|
||||
-static __inline__ unsigned long
|
||||
+static __always_inline unsigned long
|
||||
sparc_mod(unsigned long m, unsigned long p)
|
||||
{
|
||||
unsigned long i, t, inc;
|
||||
@@ -127,7 +127,7 @@ do { register Elf32_Addr pc __asm__("
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. */
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register Elf32_Addr *got __asm__ ("%l7");
|
||||
@@ -138,7 +138,7 @@ elf_machine_dynamic (void)
|
||||
}
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr
|
||||
+static __always_inline Elf32_Addr
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
register Elf32_Addr *pc __asm__ ("%o7"), *got __asm__ ("%l7");
|
||||
@@ -157,7 +157,7 @@ elf_machine_load_address (void)
|
||||
return (Elf32_Addr) got - *got + (pc[2] - pc[3]) * 4 - 4;
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h (working copy)
|
||||
@@ -163,7 +163,7 @@ void _dl_perform_mips_global_got_relocat
|
||||
|
||||
#define OFFSET_GP_GOT 0x7ff0
|
||||
|
||||
-static __inline__ ElfW(Addr) *
|
||||
+static __always_inline ElfW(Addr) *
|
||||
elf_mips_got_from_gpreg (ElfW(Addr) gpreg)
|
||||
{
|
||||
/* FIXME: the offset of gp from GOT may be system-dependent. */
|
||||
@@ -173,7 +173,7 @@ elf_mips_got_from_gpreg (ElfW(Addr) gpre
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. We assume its $gp points to the primary GOT. */
|
||||
-static __inline__ ElfW(Addr)
|
||||
+static __always_inline ElfW(Addr)
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register ElfW(Addr) gp __asm__ ("$28");
|
||||
@@ -192,7 +192,7 @@ elf_machine_dynamic (void)
|
||||
#endif
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ ElfW(Addr)
|
||||
+static __always_inline ElfW(Addr)
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
ElfW(Addr) addr;
|
||||
@@ -208,7 +208,7 @@ elf_machine_load_address (void)
|
||||
return addr;
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (ElfW(Addr) load_off, const ElfW(Addr) rel_addr,
|
||||
ElfW(Word) relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h (working copy)
|
||||
@@ -25,7 +25,7 @@
|
||||
struct elf_resolve;
|
||||
extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
|
||||
|
||||
-static __inline__ unsigned int
|
||||
+static __always_inline unsigned int
|
||||
_dl_urem(unsigned int n, unsigned int base)
|
||||
{
|
||||
int res;
|
||||
@@ -100,7 +100,7 @@ _dl_urem(unsigned int n, unsigned int ba
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. */
|
||||
-static __inline__ Elf32_Addr __attribute__ ((unused))
|
||||
+static __always_inline Elf32_Addr __attribute__ ((unused))
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register Elf32_Addr *got;
|
||||
@@ -109,7 +109,7 @@ elf_machine_dynamic (void)
|
||||
}
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
-static __inline__ Elf32_Addr __attribute__ ((unused))
|
||||
+static __always_inline Elf32_Addr __attribute__ ((unused))
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
Elf32_Addr addr;
|
||||
@@ -151,7 +151,7 @@ elf_machine_load_address (void)
|
||||
} \
|
||||
}
|
||||
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h (revision 25503)
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h (working copy)
|
||||
@@ -213,7 +213,7 @@ while (0)
|
||||
#endif
|
||||
|
||||
#include <elf.h>
|
||||
-static __inline__ void
|
||||
+static __always_inline void
|
||||
elf_machine_relative (DL_LOADADDR_TYPE load_off, const Elf32_Addr rel_addr,
|
||||
Elf32_Word relative_count)
|
||||
{
|
@ -1,38 +0,0 @@
|
||||
|
||||
It will match kernel's sigset_t starting from 0.9.31.
|
||||
|
||||
Please try attached patch.
|
||||
--
|
||||
vda
|
||||
|
||||
--- uClibc.0/libc/sysdeps/linux/common/ppoll.c
|
||||
+++ uClibc.1/libc/sysdeps/linux/common/ppoll.c
|
||||
@@ -17,6 +17,7 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
+#include <signal.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <sys/poll.h>
|
||||
|
||||
@@ -26,9 +27,9 @@
|
||||
|
||||
# define __NR___libc_ppoll __NR_ppoll
|
||||
static __always_inline
|
||||
-_syscall4(int, __libc_ppoll, struct pollfd *, fds,
|
||||
+_syscall5(int, __libc_ppoll, struct pollfd *, fds,
|
||||
nfds_t, nfds, const struct timespec *, timeout,
|
||||
- const __sigset_t *, sigmask)
|
||||
+ const __sigset_t *, sigmask, size_t, sigsetsize)
|
||||
|
||||
int
|
||||
ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout,
|
||||
@@ -43,7 +44,7 @@
|
||||
timeout = &tval;
|
||||
}
|
||||
|
||||
- return __libc_ppoll(fds, nfds, timeout, sigmask);
|
||||
+ return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8);
|
||||
}
|
||||
libc_hidden_def(ppoll)
|
||||
|
@ -1,916 +0,0 @@
|
||||
The gcc-4.4 documentation still suggests that the compiler will automatically
|
||||
do format checking for the standard format function prototypes, but it is now
|
||||
also barking warnings suggesting that we add them for this lot too. So added.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
include/stdio.h | 15 ++++++++++-----
|
||||
1 files changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: uClibc-0.9.30.1/include/stdio.h
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/include/stdio.h 2008-09-30 14:17:04.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/include/stdio.h 2009-07-06 21:16:14.000000000 +0200
|
||||
@@ -325,7 +325,8 @@
|
||||
extern int printf (__const char *__restrict __format, ...);
|
||||
/* Write formatted output to S. */
|
||||
extern int sprintf (char *__restrict __s,
|
||||
- __const char *__restrict __format, ...) __THROW;
|
||||
+ __const char *__restrict __format, ...)
|
||||
+ __THROW __attribute__ ((__format__ (__printf__, 2, 3)));
|
||||
|
||||
/* Write formatted output to S from argument list ARG.
|
||||
|
||||
@@ -340,7 +341,8 @@
|
||||
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
|
||||
/* Write formatted output to S from argument list ARG. */
|
||||
extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
|
||||
- __gnuc_va_list __arg) __THROW;
|
||||
+ __gnuc_va_list __arg)
|
||||
+ __THROW __attribute__ ((__format__ (__printf__, 2, 0)));
|
||||
__END_NAMESPACE_STD
|
||||
|
||||
#if defined __USE_BSD || defined __USE_ISOC99 || defined __USE_UNIX98
|
||||
@@ -391,15 +393,18 @@
|
||||
This function is a possible cancellation point and therefore not
|
||||
marked with __THROW. */
|
||||
extern int fscanf (FILE *__restrict __stream,
|
||||
- __const char *__restrict __format, ...) __wur;
|
||||
+ __const char *__restrict __format, ...)
|
||||
+ __attribute__ ((__format__ (__scanf__, 2, 3))) __wur;
|
||||
/* Read formatted input from stdin.
|
||||
|
||||
This function is a possible cancellation point and therefore not
|
||||
marked with __THROW. */
|
||||
-extern int scanf (__const char *__restrict __format, ...) __wur;
|
||||
+extern int scanf (__const char *__restrict __format, ...)
|
||||
+ __attribute__ ((__format__ (__scanf__, 1, 2))) __wur;
|
||||
/* Read formatted input from S. */
|
||||
extern int sscanf (__const char *__restrict __s,
|
||||
- __const char *__restrict __format, ...) __THROW;
|
||||
+ __const char *__restrict __format, ...)
|
||||
+ __THROW __attribute__ ((__format__ (__scanf__, 2, 3)));
|
||||
__END_NAMESPACE_STD
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
gcc-4.4 now barks about this, so appease it.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
ldso/ldso/arm/dl-sysdep.h | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h
|
||||
index 5191dd7..75c58b0 100644
|
||||
--- a/ldso/ldso/arm/dl-sysdep.h
|
||||
+++ b/ldso/ldso/arm/dl-sysdep.h
|
||||
@@ -98,11 +98,12 @@ elf_machine_dynamic (void)
|
||||
return dynamic;
|
||||
}
|
||||
|
||||
+extern void __dl_start __asm__ ("_dl_start");
|
||||
+
|
||||
/* Return the run-time load address of the shared object. */
|
||||
static __always_inline Elf32_Addr __attribute__ ((unused))
|
||||
elf_machine_load_address (void)
|
||||
{
|
||||
- extern void __dl_start __asm__ ("_dl_start");
|
||||
Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
|
||||
Elf32_Addr pcrel_addr;
|
||||
#if defined __OPTIMIZE__ && !defined __thumb__
|
||||
usage() is also made static in answer to warnings about no prototype.
|
||||
In __pthread_manager_event() we also have to drop the return statement,
|
||||
else gcc will in turn complain about a non-returning function having one.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
libpthread/linuxthreads.old/manager.c | 4 ++--
|
||||
utils/ldconfig.c | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libpthread/linuxthreads.old/manager.c b/libpthread/linuxthreads.old/manager.c
|
||||
index 19be92f..0617d7d 100644
|
||||
--- a/libpthread/linuxthreads.old/manager.c
|
||||
+++ b/libpthread/linuxthreads.old/manager.c
|
||||
@@ -248,7 +248,7 @@ int attribute_noreturn __pthread_manager(void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
-int __pthread_manager_event(void *arg)
|
||||
+int attribute_noreturn __pthread_manager_event(void *arg)
|
||||
{
|
||||
/* If we have special thread_self processing, initialize it. */
|
||||
#ifdef INIT_THREAD_SELF
|
||||
@@ -260,7 +260,7 @@ int __pthread_manager_event(void *arg)
|
||||
/* Free it immediately. */
|
||||
__pthread_unlock (THREAD_GETMEM((&__pthread_manager_thread), p_lock));
|
||||
|
||||
- return __pthread_manager(arg);
|
||||
+ __pthread_manager(arg);
|
||||
}
|
||||
|
||||
/* Process creation */
|
||||
diff --git a/utils/ldconfig.c b/utils/ldconfig.c
|
||||
index c52b170..f6aec5c 100644
|
||||
--- a/utils/ldconfig.c
|
||||
+++ b/utils/ldconfig.c
|
||||
@@ -114,7 +114,7 @@ static void warnx(const char *s, ...)
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
|
||||
-static void err(int errnum, const char *s, ...)
|
||||
+static void attribute_noreturn err(int errnum, const char *s, ...)
|
||||
{
|
||||
va_list p;
|
||||
|
||||
@@ -783,7 +783,7 @@ void cache_print(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
-void usage(void)
|
||||
+static void attribute_noreturn usage(void)
|
||||
{
|
||||
fprintf(stderr,
|
||||
#ifdef __LDSO_CACHE_SUPPORT__
|
||||
--
|
||||
This keeps gcc-4.4 from nagging that they have no prototypes.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
utils/ldconfig.c | 16 ++++++++--------
|
||||
utils/ldd.c | 12 ++++++------
|
||||
utils/readsoname2.c | 2 +-
|
||||
3 files changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/utils/ldconfig.c b/utils/ldconfig.c
|
||||
index f6aec5c..3bd7cee 100644
|
||||
--- a/utils/ldconfig.c
|
||||
+++ b/utils/ldconfig.c
|
||||
@@ -173,8 +173,8 @@ static char *xstrdup(const char *str)
|
||||
#define readsonameXX readsoname64
|
||||
#define __ELF_NATIVE_CLASS 64
|
||||
#include "readsoname2.c"
|
||||
-char *readsoname(char *name, FILE *infile, int expected_type,
|
||||
- int *type, int elfclass)
|
||||
+static char *readsoname(char *name, FILE *infile, int expected_type,
|
||||
+ int *type, int elfclass)
|
||||
{
|
||||
char *res;
|
||||
|
||||
@@ -206,8 +206,8 @@ char *readsoname(char *name, FILE *infile, int expected_type,
|
||||
* If the expected, actual/deduced types missmatch we display a warning
|
||||
* and use the actual/deduced type.
|
||||
*/
|
||||
-char *is_shlib(const char *dir, const char *name, int *type,
|
||||
- int *islink, int expected_type)
|
||||
+static char *is_shlib(const char *dir, const char *name, int *type,
|
||||
+ int *islink, int expected_type)
|
||||
{
|
||||
char *good = NULL;
|
||||
char *cp, *cp2;
|
||||
@@ -323,7 +323,7 @@ char *is_shlib(const char *dir, const char *name, int *type,
|
||||
}
|
||||
|
||||
/* update the symlink to new library */
|
||||
-void link_shlib(const char *dir, const char *file, const char *so)
|
||||
+static void link_shlib(const char *dir, const char *file, const char *so)
|
||||
{
|
||||
int change = 1;
|
||||
char libname[BUFFER_SIZE];
|
||||
@@ -380,7 +380,7 @@ void link_shlib(const char *dir, const char *file, const char *so)
|
||||
}
|
||||
|
||||
/* figure out which library is greater */
|
||||
-int libcmp(char *p1, char *p2)
|
||||
+static int libcmp(char *p1, char *p2)
|
||||
{
|
||||
while (*p1) {
|
||||
if (isdigit(*p1) && isdigit(*p2)) {
|
||||
@@ -412,7 +412,7 @@ struct lib {
|
||||
};
|
||||
|
||||
/* update all shared library links in a directory */
|
||||
-void scan_dir(const char *rawname)
|
||||
+static void scan_dir(const char *rawname)
|
||||
{
|
||||
DIR *dir;
|
||||
const char *name;
|
||||
@@ -554,7 +554,7 @@ void cache_write(void)
|
||||
}
|
||||
#else
|
||||
/* return the list of system-specific directories */
|
||||
-char *get_extpath(void)
|
||||
+static char *get_extpath(void)
|
||||
{
|
||||
char *res = NULL, *cp;
|
||||
FILE *file;
|
||||
diff --git a/utils/ldd.c b/utils/ldd.c
|
||||
index 1f1dc25..02b37f1 100644
|
||||
--- a/utils/ldd.c
|
||||
+++ b/utils/ldd.c
|
||||
@@ -214,7 +214,7 @@ static char *elf_find_rpath(ElfW(Ehdr) *ehdr, ElfW(Dyn) *dynamic)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-int check_elf_header(ElfW(Ehdr) *const ehdr)
|
||||
+static int check_elf_header(ElfW(Ehdr) *const ehdr)
|
||||
{
|
||||
if (!ehdr || *(uint32_t*)ehdr != ELFMAG_U32
|
||||
|| ehdr->e_ident[EI_CLASS] != ELFCLASSM
|
||||
@@ -249,7 +249,7 @@ int check_elf_header(ElfW(Ehdr) *const ehdr)
|
||||
static caddr_t cache_addr = NULL;
|
||||
static size_t cache_size = 0;
|
||||
|
||||
-int map_cache(void)
|
||||
+static int map_cache(void)
|
||||
{
|
||||
int fd;
|
||||
struct stat st;
|
||||
@@ -306,7 +306,7 @@ fail:
|
||||
return -1;
|
||||
}
|
||||
|
||||
-int unmap_cache(void)
|
||||
+static int unmap_cache(void)
|
||||
{
|
||||
if (cache_addr == NULL || cache_addr == (caddr_t) - 1)
|
||||
return -1;
|
||||
@@ -372,8 +372,8 @@ static void search_for_named_library(char *name, char *result,
|
||||
*result = '\0';
|
||||
}
|
||||
|
||||
-void locate_library_file(ElfW(Ehdr) *ehdr, ElfW(Dyn) *dynamic, int is_suid,
|
||||
- struct library *lib)
|
||||
+static void locate_library_file(ElfW(Ehdr) *ehdr, ElfW(Dyn) *dynamic,
|
||||
+ int is_suid, struct library *lib)
|
||||
{
|
||||
char *buf;
|
||||
char *path;
|
||||
@@ -608,7 +608,7 @@ static struct library *find_elf_interpreter(ElfW(Ehdr) *ehdr)
|
||||
/*
|
||||
#warning "There may be two warnings here about vfork() clobbering, ignore them"
|
||||
*/
|
||||
-int find_dependancies(char *filename)
|
||||
+static int find_dependancies(char *filename)
|
||||
{
|
||||
int is_suid = 0;
|
||||
FILE *thefile;
|
||||
diff --git a/utils/readsoname2.c b/utils/readsoname2.c
|
||||
index a74b46a..5cda331 100644
|
||||
--- a/utils/readsoname2.c
|
||||
+++ b/utils/readsoname2.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-char *readsonameXX(char *name, FILE *infile, int expected_type, int *type)
|
||||
+static char *readsonameXX(char *name, FILE *infile, int expected_type, int *type)
|
||||
{
|
||||
ElfW(Ehdr) *epnt;
|
||||
ElfW(Phdr) *ppnt;
|
||||
--
|
||||
This cuts down on a lot of noise from gcc-4.4
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
libc/misc/elf/dl-support.c | 5 ++---
|
||||
libc/sysdeps/linux/arm/aeabi_assert.c | 5 ++---
|
||||
libc/sysdeps/linux/arm/aeabi_atexit.c | 4 ++--
|
||||
libc/sysdeps/linux/arm/aeabi_errno_addr.c | 4 ++--
|
||||
libc/sysdeps/linux/arm/aeabi_localeconv.c | 4 ++--
|
||||
libc/sysdeps/linux/arm/aeabi_memclr.c | 4 ++--
|
||||
libc/sysdeps/linux/arm/aeabi_memcpy.c | 4 ++--
|
||||
libc/sysdeps/linux/arm/aeabi_memmove.c | 4 ++--
|
||||
libc/sysdeps/linux/arm/aeabi_memset.c | 4 ++--
|
||||
libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c | 15 ++++++---------
|
||||
libc/sysdeps/linux/arm/find_exidx.c | 4 ++--
|
||||
.../linuxthreads.old/sysdeps/arm/pt-machine.h | 4 ++--
|
||||
utils/chroot_realpath.c | 3 +++
|
||||
13 files changed, 31 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/libc/misc/elf/dl-support.c b/libc/misc/elf/dl-support.c
|
||||
index 3c1d853..4dd155e 100644
|
||||
--- a/libc/misc/elf/dl-support.c
|
||||
+++ b/libc/misc/elf/dl-support.c
|
||||
@@ -17,9 +17,8 @@
|
||||
ElfW(Phdr) *_dl_phdr;
|
||||
size_t _dl_phnum;
|
||||
|
||||
-void
|
||||
-internal_function
|
||||
-_dl_aux_init (ElfW(auxv_t) *av)
|
||||
+void internal_function _dl_aux_init (ElfW(auxv_t) *av);
|
||||
+void internal_function _dl_aux_init (ElfW(auxv_t) *av)
|
||||
{
|
||||
/* Get the program headers base address from the aux vect */
|
||||
_dl_phdr = (ElfW(Phdr) *) av[AT_PHDR].a_un.a_val;
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_assert.c b/libc/sysdeps/linux/arm/aeabi_assert.c
|
||||
index 53943ac..348ca9b 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_assert.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_assert.c
|
||||
@@ -22,9 +22,8 @@
|
||||
|
||||
/* libc_hidden_proto(__assert) */
|
||||
|
||||
-void
|
||||
-__aeabi_assert (const char *assertion, const char *file,
|
||||
- unsigned int line)
|
||||
+void __aeabi_assert(const char *assertion, const char *file, unsigned int line);
|
||||
+void __aeabi_assert(const char *assertion, const char *file, unsigned int line)
|
||||
{
|
||||
__assert (assertion, file, line, NULL);
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_atexit.c b/libc/sysdeps/linux/arm/aeabi_atexit.c
|
||||
index 4a7a6f1..ebb233b 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_atexit.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_atexit.c
|
||||
@@ -24,8 +24,8 @@ libc_hidden_proto(__cxa_atexit)
|
||||
/* Register a function to be called by exit or when a shared library
|
||||
is unloaded. This routine is like __cxa_atexit, but uses the
|
||||
calling sequence required by the ARM EABI. */
|
||||
-int
|
||||
-__aeabi_atexit (void *arg, void (*func) (void *), void *d)
|
||||
+int __aeabi_atexit (void *arg, void (*func) (void *), void *d);
|
||||
+int __aeabi_atexit (void *arg, void (*func) (void *), void *d)
|
||||
{
|
||||
return __cxa_atexit (func, arg, d);
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_errno_addr.c b/libc/sysdeps/linux/arm/aeabi_errno_addr.c
|
||||
index 09bdc1e..5e262a6 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_errno_addr.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_errno_addr.c
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
-volatile int *
|
||||
-__aeabi_errno_addr (void)
|
||||
+volatile int * __aeabi_errno_addr (void);
|
||||
+volatile int * __aeabi_errno_addr (void)
|
||||
{
|
||||
return &errno;
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_localeconv.c b/libc/sysdeps/linux/arm/aeabi_localeconv.c
|
||||
index 6fa29bb..4c34f57 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_localeconv.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_localeconv.c
|
||||
@@ -20,8 +20,8 @@
|
||||
|
||||
/* libc_hidden_proto(localeconv) */
|
||||
|
||||
-struct lconv *
|
||||
-__aeabi_localeconv (void)
|
||||
+struct lconv * __aeabi_localeconv (void);
|
||||
+struct lconv * __aeabi_localeconv (void)
|
||||
{
|
||||
return localeconv ();
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_memclr.c b/libc/sysdeps/linux/arm/aeabi_memclr.c
|
||||
index c0f9021..9125bac 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_memclr.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_memclr.c
|
||||
@@ -22,8 +22,8 @@
|
||||
|
||||
/* Clear memory. Can't alias to bzero because it's not defined in the
|
||||
same translation unit. */
|
||||
-void
|
||||
-__aeabi_memclr (void *dest, size_t n)
|
||||
+void __aeabi_memclr (void *dest, size_t n);
|
||||
+void __aeabi_memclr (void *dest, size_t n)
|
||||
{
|
||||
memset (dest, 0, n);
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_memcpy.c b/libc/sysdeps/linux/arm/aeabi_memcpy.c
|
||||
index 83eac0b..604c139 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_memcpy.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_memcpy.c
|
||||
@@ -23,8 +23,8 @@
|
||||
/* Copy memory like memcpy, but no return value required. Can't alias
|
||||
to memcpy because it's not defined in the same translation
|
||||
unit. */
|
||||
-void
|
||||
-__aeabi_memcpy (void *dest, const void *src, size_t n)
|
||||
+void __aeabi_memcpy (void *dest, const void *src, size_t n);
|
||||
+void __aeabi_memcpy (void *dest, const void *src, size_t n)
|
||||
{
|
||||
memcpy (dest, src, n);
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_memmove.c b/libc/sysdeps/linux/arm/aeabi_memmove.c
|
||||
index 164d72b..7ecfbb7 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_memmove.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_memmove.c
|
||||
@@ -23,8 +23,8 @@
|
||||
/* Copy memory like memmove, but no return value required. Can't
|
||||
alias to memmove because it's not defined in the same translation
|
||||
unit. */
|
||||
-void
|
||||
-__aeabi_memmove (void *dest, const void *src, size_t n)
|
||||
+void __aeabi_memmove (void *dest, const void *src, size_t n);
|
||||
+void __aeabi_memmove (void *dest, const void *src, size_t n)
|
||||
{
|
||||
memmove (dest, src, n);
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_memset.c b/libc/sysdeps/linux/arm/aeabi_memset.c
|
||||
index f1c366f..a37e21f 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_memset.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_memset.c
|
||||
@@ -22,8 +22,8 @@
|
||||
|
||||
/* Set memory like memset, but different argument order and no return
|
||||
value required. */
|
||||
-void
|
||||
-__aeabi_memset (void *dest, size_t n, int c)
|
||||
+void __aeabi_memset (void *dest, size_t n, int c);
|
||||
+void __aeabi_memset (void *dest, size_t n, int c)
|
||||
{
|
||||
memset (dest, c, n);
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c b/libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c
|
||||
index e657d38..4544dc7 100644
|
||||
--- a/libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c
|
||||
+++ b/libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c
|
||||
@@ -24,20 +24,17 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
-attribute_hidden
|
||||
-void
|
||||
-__aeabi_unwind_cpp_pr0 (void)
|
||||
+attribute_hidden void __aeabi_unwind_cpp_pr0 (void);
|
||||
+attribute_hidden void __aeabi_unwind_cpp_pr0 (void)
|
||||
{
|
||||
}
|
||||
|
||||
-attribute_hidden
|
||||
-void
|
||||
-__aeabi_unwind_cpp_pr1 (void)
|
||||
+attribute_hidden void __aeabi_unwind_cpp_pr1 (void);
|
||||
+attribute_hidden void __aeabi_unwind_cpp_pr1 (void)
|
||||
{
|
||||
}
|
||||
|
||||
-attribute_hidden
|
||||
-void
|
||||
-__aeabi_unwind_cpp_pr2 (void)
|
||||
+attribute_hidden void __aeabi_unwind_cpp_pr2 (void);
|
||||
+attribute_hidden void __aeabi_unwind_cpp_pr2 (void)
|
||||
{
|
||||
}
|
||||
diff --git a/libc/sysdeps/linux/arm/find_exidx.c b/libc/sysdeps/linux/arm/find_exidx.c
|
||||
index 9e4f401..a16534b 100644
|
||||
--- a/libc/sysdeps/linux/arm/find_exidx.c
|
||||
+++ b/libc/sysdeps/linux/arm/find_exidx.c
|
||||
@@ -65,8 +65,8 @@ find_exidx_callback (struct dl_phdr_info * info, size_t size, void * ptr)
|
||||
|
||||
/* Find the exception index table containing PC. */
|
||||
|
||||
-_Unwind_Ptr
|
||||
-__gnu_Unwind_Find_exidx (_Unwind_Ptr pc, int * pcount)
|
||||
+_Unwind_Ptr __gnu_Unwind_Find_exidx (_Unwind_Ptr pc, int * pcount);
|
||||
+_Unwind_Ptr __gnu_Unwind_Find_exidx (_Unwind_Ptr pc, int * pcount)
|
||||
{
|
||||
struct unw_eh_callback_data data;
|
||||
|
||||
diff --git a/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
|
||||
index 14eb6f6..583eb68 100644
|
||||
--- a/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
|
||||
+++ b/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
|
||||
@@ -33,8 +33,8 @@
|
||||
time; let's hope nobody tries to use one. */
|
||||
|
||||
/* Spinlock implementation; required. */
|
||||
-PT_EI long int
|
||||
-testandset (int *spinlock)
|
||||
+PT_EI long int testandset (int *spinlock);
|
||||
+PT_EI long int testandset (int *spinlock)
|
||||
{
|
||||
register unsigned int ret;
|
||||
|
||||
diff --git a/utils/chroot_realpath.c b/utils/chroot_realpath.c
|
||||
index 82ccbf6..d912a06 100644
|
||||
--- a/utils/chroot_realpath.c
|
||||
+++ b/utils/chroot_realpath.c
|
||||
@@ -25,6 +25,9 @@
|
||||
#define MAX_READLINKS 32
|
||||
|
||||
char *chroot_realpath(const char *chroot, const char *path,
|
||||
+ char resolved_path[]);
|
||||
+
|
||||
+char *chroot_realpath(const char *chroot, const char *path,
|
||||
char resolved_path[])
|
||||
{
|
||||
char copy_path[PATH_MAX];
|
||||
--
|
||||
Once again all of these reduce the noise from gcc-4.4.
|
||||
Replaces a few more (USE_TLS && HAVE___THREAD) with USE___THREAD while we need
|
||||
to mess with them for this anyhow.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
libc/misc/fnmatch/fnmatch.c | 2 +-
|
||||
libpthread/linuxthreads.old/cancel.c | 6 +++---
|
||||
libpthread/linuxthreads.old/libc_pthread_init.c | 4 ++--
|
||||
libpthread/linuxthreads.old/pthread.c | 2 +-
|
||||
libpthread/linuxthreads.old/ptlongjmp.c | 4 ++--
|
||||
libpthread/linuxthreads.old/specific.c | 2 +-
|
||||
.../linuxthreads.old_db/td_thr_tls_get_addr.c | 2 +-
|
||||
7 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
Index: uClibc-0.9.30.1/libc/misc/fnmatch/fnmatch.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libc/misc/fnmatch/fnmatch.c 2008-06-01 22:44:48.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/libc/misc/fnmatch/fnmatch.c 2009-07-06 21:16:29.000000000 +0200
|
||||
@@ -17,7 +17,7 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
-#if HAVE_CONFIG_H
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
Index: uClibc-0.9.30.1/libpthread/linuxthreads.old/cancel.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old/cancel.c 2008-07-23 13:23:36.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/libpthread/linuxthreads.old/cancel.c 2009-07-06 21:16:29.000000000 +0200
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
#ifdef _STACK_GROWS_DOWN
|
||||
# define FRAME_LEFT(frame, other) ((char *) frame >= (char *) other)
|
||||
-#elif _STACK_GROWS_UP
|
||||
+#elif defined _STACK_GROWS_UP
|
||||
# define FRAME_LEFT(frame, other) ((char *) frame <= (char *) other)
|
||||
#else
|
||||
# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
|
||||
@@ -193,10 +193,10 @@
|
||||
|
||||
for (c = THREAD_GETMEM(self, p_cleanup); c != NULL; c = c->__prev)
|
||||
{
|
||||
-#if _STACK_GROWS_DOWN
|
||||
+#ifdef _STACK_GROWS_DOWN
|
||||
if ((char *) c <= currentframe)
|
||||
break;
|
||||
-#elif _STACK_GROWS_UP
|
||||
+#elif defined _STACK_GROWS_UP
|
||||
if ((char *) c >= currentframe)
|
||||
break;
|
||||
#else
|
||||
Index: uClibc-0.9.30.1/libpthread/linuxthreads.old/libc_pthread_init.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old/libc_pthread_init.c 2008-05-20 10:47:51.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/libpthread/linuxthreads.old/libc_pthread_init.c 2009-07-06 21:17:10.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/* Experimentally off - libc_hidden_proto(memcpy) */
|
||||
|
||||
-#if !(USE_TLS && HAVE___THREAD) && defined __UCLIBC_HAS_XLOCALE__
|
||||
+#if ! defined USE___THREAD && defined __UCLIBC_HAS_XLOCALE__
|
||||
libc_hidden_proto(uselocale)
|
||||
#endif
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
sizeof (__libc_pthread_functions));
|
||||
#endif
|
||||
|
||||
-#if !(USE_TLS && HAVE___THREAD) && defined __UCLIBC_HAS_XLOCALE__
|
||||
+#if ! defined USE___THREAD && defined __UCLIBC_HAS_XLOCALE__
|
||||
/* Initialize thread-locale current locale to point to the global one.
|
||||
With __thread support, the variable's initializer takes care of this. */
|
||||
uselocale (LC_GLOBAL_LOCALE);
|
||||
Index: uClibc-0.9.30.1/libpthread/linuxthreads.old/pthread.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old/pthread.c 2008-10-03 15:59:52.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/libpthread/linuxthreads.old/pthread.c 2009-07-06 21:17:53.000000000 +0200
|
||||
@@ -321,7 +321,7 @@
|
||||
|
||||
struct pthread_functions __pthread_functions =
|
||||
{
|
||||
-#if !(USE_TLS && HAVE___THREAD)
|
||||
+#ifndef USE___THREAD
|
||||
.ptr_pthread_internal_tsd_set = __pthread_internal_tsd_set,
|
||||
.ptr_pthread_internal_tsd_get = __pthread_internal_tsd_get,
|
||||
.ptr_pthread_internal_tsd_address = __pthread_internal_tsd_address,
|
||||
Index: uClibc-0.9.30.1/libpthread/linuxthreads.old/ptlongjmp.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old/ptlongjmp.c 2006-11-09 09:11:33.000000000 +0100
|
||||
+++ uClibc-0.9.30.1/libpthread/linuxthreads.old/ptlongjmp.c 2009-07-06 21:16:29.000000000 +0200
|
||||
@@ -35,13 +35,13 @@
|
||||
c != NULL && _JMPBUF_UNWINDS(target, c);
|
||||
c = c->__prev)
|
||||
{
|
||||
-#if _STACK_GROWS_DOWN
|
||||
+#ifdef _STACK_GROWS_DOWN
|
||||
if ((char *) c <= currentframe)
|
||||
{
|
||||
c = NULL;
|
||||
break;
|
||||
}
|
||||
-#elif _STACK_GROWS_UP
|
||||
+#elif defined _STACK_GROWS_UP
|
||||
if ((char *) c >= currentframe)
|
||||
{
|
||||
c = NULL;
|
||||
Index: uClibc-0.9.30.1/libpthread/linuxthreads.old/specific.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old/specific.c 2008-05-20 10:47:51.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/libpthread/linuxthreads.old/specific.c 2009-07-06 21:18:28.000000000 +0200
|
||||
@@ -167,7 +167,7 @@
|
||||
__pthread_unlock(THREAD_GETMEM(self, p_lock));
|
||||
}
|
||||
|
||||
-#if !(USE_TLS && HAVE___THREAD)
|
||||
+#ifndef USE___THREAD
|
||||
|
||||
/* Thread-specific data for libc. */
|
||||
|
||||
Index: uClibc-0.9.30.1/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c 2005-11-22 22:32:06.000000000 +0100
|
||||
+++ uClibc-0.9.30.1/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c 2009-07-06 21:16:29.000000000 +0200
|
||||
@@ -31,7 +31,7 @@
|
||||
size_t offset __attribute__ ((unused)),
|
||||
void **address __attribute__ ((unused)))
|
||||
{
|
||||
-#if USE_TLS
|
||||
+#ifdef USE_TLS
|
||||
size_t modid;
|
||||
union dtv pdtv, *dtvp;
|
||||
|
||||
elf.h needs __BYTE_ORDER, and s_scalbn.c needs {LONG,INT}_MAX.
|
||||
shm.c complains about no prototypes for shm_{open,unlink} without its header.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
include/elf.h | 1 +
|
||||
libm/s_scalbn.c | 1 +
|
||||
librt/shm.c | 1 +
|
||||
3 files changed, 3 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/elf.h b/include/elf.h
|
||||
index 0129f1e..16a6972 100644
|
||||
--- a/include/elf.h
|
||||
+++ b/include/elf.h
|
||||
@@ -28,6 +28,7 @@ extern "C" {
|
||||
/* Standard ELF types. */
|
||||
|
||||
#include <stdint.h>
|
||||
+#include <endian.h>
|
||||
|
||||
/* Type for a 16-bit quantity. */
|
||||
typedef uint16_t Elf32_Half;
|
||||
diff --git a/libm/s_scalbn.c b/libm/s_scalbn.c
|
||||
index c534467..47983b0 100644
|
||||
--- a/libm/s_scalbn.c
|
||||
+++ b/libm/s_scalbn.c
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
+#include <limits.h>
|
||||
|
||||
static const double
|
||||
two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
|
||||
--
|
||||
gcc-4.4 barks about that.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
utils/ldconfig.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/utils/ldconfig.c b/utils/ldconfig.c
|
||||
index 3bd7cee..505316b 100644
|
||||
--- a/utils/ldconfig.c
|
||||
+++ b/utils/ldconfig.c
|
||||
@@ -127,14 +127,14 @@ static void attribute_noreturn err(int errnum, const char *s, ...)
|
||||
|
||||
static void vperror_msg(const char *s, va_list p)
|
||||
{
|
||||
- int err = errno;
|
||||
+ int e = errno;
|
||||
|
||||
if (s == 0)
|
||||
s = "";
|
||||
verror_msg(s, p);
|
||||
if (*s)
|
||||
s = ": ";
|
||||
- fprintf(stderr, "%s%s\n", s, strerror(err));
|
||||
+ fprintf(stderr, "%s%s\n", s, strerror(e));
|
||||
}
|
||||
|
||||
static void warn(const char *s, ...)
|
||||
--
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
utils/ldconfig.c | 10 +++++-----
|
||||
utils/ldd.c | 4 ++--
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/utils/ldconfig.c b/utils/ldconfig.c
|
||||
index 505316b..139b5f9 100644
|
||||
--- a/utils/ldconfig.c
|
||||
+++ b/utils/ldconfig.c
|
||||
@@ -558,18 +558,18 @@ static char *get_extpath(void)
|
||||
{
|
||||
char *res = NULL, *cp;
|
||||
FILE *file;
|
||||
- struct stat stat;
|
||||
+ struct stat st;
|
||||
char realconffile[BUFFER_SIZE];
|
||||
|
||||
if (!chroot_realpath(chroot_dir, conffile, realconffile))
|
||||
return NULL;
|
||||
|
||||
if ((file = fopen(realconffile, "r")) != NULL) {
|
||||
- fstat(fileno(file), &stat);
|
||||
- res = xmalloc(stat.st_size + 1);
|
||||
- fread(res, 1, stat.st_size, file);
|
||||
+ fstat(fileno(file), &st);
|
||||
+ res = xmalloc(st.st_size + 1);
|
||||
+ fread(res, 1, st.st_size, file);
|
||||
fclose(file);
|
||||
- res[stat.st_size] = '\0';
|
||||
+ res[st.st_size] = '\0';
|
||||
|
||||
/* convert comments fo spaces */
|
||||
for (cp = res; *cp; /*nada */ ) {
|
||||
diff --git a/utils/ldd.c b/utils/ldd.c
|
||||
index 02b37f1..e7a94cb 100644
|
||||
--- a/utils/ldd.c
|
||||
+++ b/utils/ldd.c
|
||||
@@ -683,8 +683,8 @@ foo:
|
||||
&& ehdr->e_ident[EI_VERSION] == EV_CURRENT
|
||||
&& MATCH_MACHINE(ehdr->e_machine))
|
||||
{
|
||||
- struct stat statbuf;
|
||||
- if (stat(interp->path, &statbuf) == 0 && S_ISREG(statbuf.st_mode)) {
|
||||
+ struct stat st;
|
||||
+ if (stat(interp->path, &st) == 0 && S_ISREG(st.st_mode)) {
|
||||
pid_t pid;
|
||||
int status;
|
||||
static const char *const environment[] = {
|
||||
--
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
libpthread/linuxthreads.old/manager.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libpthread/linuxthreads.old/manager.c b/libpthread/linuxthreads.old/manager.c
|
||||
index 0617d7d..88c9253 100644
|
||||
--- a/libpthread/linuxthreads.old/manager.c
|
||||
+++ b/libpthread/linuxthreads.old/manager.c
|
||||
@@ -578,9 +578,9 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
|
||||
/* See whether the TD_CREATE event bit is set in any of the
|
||||
masks. */
|
||||
int idx = __td_eventword (TD_CREATE);
|
||||
- uint32_t mask = __td_eventmask (TD_CREATE);
|
||||
+ uint32_t m = __td_eventmask (TD_CREATE);
|
||||
|
||||
- if ((mask & (__pthread_threads_events.event_bits[idx]
|
||||
+ if ((m & (__pthread_threads_events.event_bits[idx]
|
||||
| event_maskp->event_bits[idx])) != 0)
|
||||
{
|
||||
/* Lock the mutex the child will use now so that it will stop. */
|
||||
--
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
utils/chroot_realpath.c | 12 ++++++------
|
||||
1 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/utils/chroot_realpath.c b/utils/chroot_realpath.c
|
||||
index d912a06..0be57bf 100644
|
||||
--- a/utils/chroot_realpath.c
|
||||
+++ b/utils/chroot_realpath.c
|
||||
@@ -24,10 +24,10 @@
|
||||
|
||||
#define MAX_READLINKS 32
|
||||
|
||||
-char *chroot_realpath(const char *chroot, const char *path,
|
||||
+char *chroot_realpath(const char *root, const char *path,
|
||||
char resolved_path[]);
|
||||
|
||||
-char *chroot_realpath(const char *chroot, const char *path,
|
||||
+char *chroot_realpath(const char *root, const char *path,
|
||||
char resolved_path[])
|
||||
{
|
||||
char copy_path[PATH_MAX];
|
||||
@@ -41,13 +41,13 @@ char *chroot_realpath(const char *chroot, const char *path,
|
||||
int chroot_len;
|
||||
|
||||
/* Trivial case. */
|
||||
- if (chroot == NULL || *chroot == '\0' ||
|
||||
- (*chroot == '/' && chroot[1] == '\0')) {
|
||||
+ if (root == NULL || *root == '\0' ||
|
||||
+ (*root == '/' && root[1] == '\0')) {
|
||||
strcpy(resolved_path, path);
|
||||
return resolved_path;
|
||||
}
|
||||
|
||||
- chroot_len = strlen(chroot);
|
||||
+ chroot_len = strlen(root);
|
||||
|
||||
if (chroot_len + strlen(path) >= PATH_MAX - 3) {
|
||||
errno = ENAMETOOLONG;
|
||||
@@ -60,7 +60,7 @@ char *chroot_realpath(const char *chroot, const char *path,
|
||||
max_path = copy_path + PATH_MAX - chroot_len - 3;
|
||||
|
||||
/* Start with the chroot path. */
|
||||
- strcpy(new_path, chroot);
|
||||
+ strcpy(new_path, root);
|
||||
new_path += chroot_len;
|
||||
while (*new_path == '/' && new_path > got_path)
|
||||
new_path--;
|
||||
--
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
---
|
||||
ldso/ldso/dl-elf.c | 4 +++-
|
||||
ldso/ldso/dl-startup.c | 3 ++-
|
||||
libc/inet/getaddrinfo.c | 9 ++++++---
|
||||
3 files changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/dl-elf.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/ldso/ldso/dl-elf.c 2008-11-18 15:01:35.000000000 +0100
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/dl-elf.c 2009-07-06 21:20:03.000000000 +0200
|
||||
@@ -341,6 +341,7 @@
|
||||
ElfW(Addr) relro_addr = 0;
|
||||
size_t relro_size = 0;
|
||||
struct stat st;
|
||||
+ uint32_t *p32;
|
||||
DL_LOADADDR_TYPE lib_loadaddr;
|
||||
DL_INIT_LOADADDR_EXTRA_DECLS
|
||||
|
||||
Index: uClibc-0.9.30.1/ldso/ldso/dl-startup.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/ldso/ldso/dl-startup.c 2008-05-30 16:22:26.000000000 +0200
|
||||
+++ uClibc-0.9.30.1/ldso/ldso/dl-startup.c 2009-07-06 21:20:03.000000000 +0200
|
||||
@@ -122,6 +122,7 @@
|
||||
struct elf_resolve *tpnt = &tpnt_tmp;
|
||||
ElfW(auxv_t) auxvt[AT_EGID + 1];
|
||||
ElfW(Dyn) *dpnt;
|
||||
+ uint32_t *p32;
|
||||
|
||||
/* WARNING! -- we cannot make _any_ funtion calls until we have
|
||||
* taken care of fixing up our own relocations. Making static
|
||||
Index: uClibc-0.9.30.1/libc/inet/getaddrinfo.c
|
||||
===================================================================
|
||||
--- uClibc-0.9.30.1.orig/libc/inet/getaddrinfo.c 2009-02-26 13:49:14.000000000 +0100
|
||||
+++ uClibc-0.9.30.1/libc/inet/getaddrinfo.c 2009-07-06 21:20:03.000000000 +0200
|
||||
@@ -539,7 +539,8 @@
|
||||
|
||||
if (scope_delim != NULL) {
|
||||
int try_numericscope = 0;
|
||||
- if (IN6_IS_ADDR_LINKLOCAL(at->addr) || IN6_IS_ADDR_MC_LINKLOCAL(at->addr)) {
|
||||
+ uint32_t *a32 = (uint32_t*)at->addr;
|
||||
+ if (IN6_IS_ADDR_LINKLOCAL(a32) || IN6_IS_ADDR_MC_LINKLOCAL(at->addr)) {
|
||||
at->scopeid = if_nametoindex(scope_delim + 1);
|
||||
if (at->scopeid == 0)
|
||||
try_numericscope = 1;
|
||||
@@ -617,8 +618,10 @@
|
||||
#endif
|
||||
if (req->ai_family == 0 || req->ai_family == AF_INET) {
|
||||
atr->family = AF_INET;
|
||||
- if ((req->ai_flags & AI_PASSIVE) == 0)
|
||||
- *(uint32_t*)atr->addr = htonl(INADDR_LOOPBACK);
|
||||
+ if ((req->ai_flags & AI_PASSIVE) == 0) {
|
||||
+ uint32_t *a = (uint32_t*)atr->addr;
|
||||
+ *a = htonl(INADDR_LOOPBACK);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
From 8ee834680d39677a60e26a0de4ece2f0c1ebbde2 Mon Sep 17 00:00:00 2001
|
||||
From: Ron <ron@debian.org>
|
||||
Date: Sat, 27 Jun 2009 04:44:27 +0930
|
||||
Subject: [PATCH] Avoid warnings about shifting more bits than we have
|
||||
|
||||
The test here is a constant expression and will compile out.
|
||||
For platforms that don't need the shift the code gets slightly smaller
|
||||
and simpler, for those that do the result is unchanged.
|
||||
|
||||
Signed-off-by: Ron Lee <ron@debian.org>
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
libc/sysdeps/linux/arm/posix_fadvise.c | 6 ++++--
|
||||
1 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/libc/sysdeps/linux/arm/posix_fadvise.c
|
||||
+++ b/libc/sysdeps/linux/arm/posix_fadvise.c
|
||||
@@ -10,6 +10,9 @@
|
||||
#include <sys/syscall.h>
|
||||
#include <fcntl.h>
|
||||
#if defined __NR_arm_fadvise64_64
|
||||
+
|
||||
+#define HIGH_BITS(x) (sizeof(x) > 4 ? (x) >> 32 : 0)
|
||||
+
|
||||
/* This is for the ARM version of fadvise64_64 which swaps the params
|
||||
* * about to avoid having ABI compat issues
|
||||
* */
|
||||
@@ -18,8 +21,8 @@
|
||||
{
|
||||
INTERNAL_SYSCALL_DECL (err);
|
||||
int ret = INTERNAL_SYSCALL (arm_fadvise64_64, err, 6, fd, advise,
|
||||
- __LONG_LONG_PAIR ((long)(offset >> 32), (long)offset),
|
||||
- __LONG_LONG_PAIR ((long)(len >> 32), (long)len));
|
||||
+ __LONG_LONG_PAIR (HIGH_BITS(offset), (long)offset),
|
||||
+ __LONG_LONG_PAIR (HIGH_BITS(len), (long)len));
|
||||
|
||||
if (INTERNAL_SYSCALL_ERROR_P (ret, err))
|
||||
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
@ -1,11 +0,0 @@
|
||||
--- a/libc/stdio/_stdio.c
|
||||
+++ b/libc/stdio/_stdio.c
|
||||
@@ -121,7 +121,7 @@ static FILE _stdio_streams[] = {
|
||||
__FLAG_NBF|__FLAG_WRITEONLY, \
|
||||
2, \
|
||||
NULL, \
|
||||
- NULL, \
|
||||
+ 0, \
|
||||
0 )
|
||||
};
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- a/libc/string/i386/strrchr.c
|
||||
+++ b/libc/string/i386/strrchr.c
|
||||
@@ -45,7 +45,7 @@ char *strrchr(const char *s, int c)
|
||||
"leal -1(%%esi),%0\n"
|
||||
"2:\ttestb %%al,%%al\n\t"
|
||||
"jne 1b"
|
||||
- :"=g" (__res), "=&S" (d0), "=&a" (d1) :"0" (0),"1" (s),"2" (c));
|
||||
+ :"=r" (__res), "=&S" (d0), "=&a" (d1) :"0" (0),"1" (s),"2" (c));
|
||||
return __res;
|
||||
}
|
||||
libc_hidden_def(strrchr)
|
@ -1,96 +0,0 @@
|
||||
--- a/libc/sysdeps/linux/i386/Makefile.arch
|
||||
+++ b/libc/sysdeps/linux/i386/Makefile.arch
|
||||
@@ -9,6 +9,7 @@ CSRC := brk.c sigaction.c __syscall_erro
|
||||
|
||||
SSRC := \
|
||||
__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
|
||||
- sync_file_range.S syscall.S mmap.S mmap64.S posix_fadvise64.S
|
||||
+ sync_file_range.S syscall.S mmap.S mmap64.S posix_fadvise64.S \
|
||||
+ s_copysign.S s_copysignf.S s_copysignl.S
|
||||
|
||||
include $(top_srcdir)libc/sysdeps/linux/Makefile.commonarch
|
||||
--- /dev/null
|
||||
+++ b/libc/sysdeps/linux/i386/s_copysign.S
|
||||
@@ -0,0 +1,25 @@
|
||||
+/*
|
||||
+ * Written by J.T. Conklin <jtc@netbsd.org>.
|
||||
+ * Public domain.
|
||||
+ */
|
||||
+
|
||||
+#define _ERRNO_H 1
|
||||
+#include <features.h>
|
||||
+#include <bits/errno.h>
|
||||
+
|
||||
+.text
|
||||
+.global copysign
|
||||
+.type copysign,%function
|
||||
+copysign:
|
||||
+ movl 16(%esp),%edx
|
||||
+ movl 8(%esp),%eax
|
||||
+ andl $0x80000000,%edx
|
||||
+ andl $0x7fffffff,%eax
|
||||
+ orl %edx,%eax
|
||||
+ movl %eax,8(%esp)
|
||||
+ fldl 4(%esp)
|
||||
+ ret
|
||||
+.size copysign,.-copysign
|
||||
+
|
||||
+libc_hidden_def(copysign)
|
||||
+
|
||||
--- /dev/null
|
||||
+++ b/libc/sysdeps/linux/i386/s_copysignf.S
|
||||
@@ -0,0 +1,25 @@
|
||||
+/*
|
||||
+ * Written by J.T. Conklin <jtc@netbsd.org>.
|
||||
+ * Public domain.
|
||||
+ */
|
||||
+
|
||||
+#define _ERRNO_H 1
|
||||
+#include <features.h>
|
||||
+#include <bits/errno.h>
|
||||
+
|
||||
+.text
|
||||
+.global copysignf
|
||||
+.type copysignf,%function
|
||||
+copysignf:
|
||||
+ movl 8(%esp),%edx
|
||||
+ movl 4(%esp),%eax
|
||||
+ andl $0x80000000,%edx
|
||||
+ andl $0x7fffffff,%eax
|
||||
+ orl %edx,%eax
|
||||
+ movl %eax,4(%esp)
|
||||
+ flds 4(%esp)
|
||||
+ ret
|
||||
+.size copysignf,.-copysignf
|
||||
+
|
||||
+libc_hidden_def(copysignf)
|
||||
+
|
||||
--- /dev/null
|
||||
+++ b/libc/sysdeps/linux/i386/s_copysignl.S
|
||||
@@ -0,0 +1,26 @@
|
||||
+/*
|
||||
+ * Written by J.T. Conklin <jtc@netbsd.org>.
|
||||
+ * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
|
||||
+ * Public domain.
|
||||
+ */
|
||||
+
|
||||
+#define _ERRNO_H 1
|
||||
+#include <features.h>
|
||||
+#include <bits/errno.h>
|
||||
+
|
||||
+.text
|
||||
+.global copysignl
|
||||
+.type copysignl,%function
|
||||
+copysignl:
|
||||
+ movl 24(%esp),%edx
|
||||
+ movl 12(%esp),%eax
|
||||
+ andl $0x8000,%edx
|
||||
+ andl $0x7fff,%eax
|
||||
+ orl %edx,%eax
|
||||
+ movl %eax,12(%esp)
|
||||
+ fldt 4(%esp)
|
||||
+ ret
|
||||
+.size copysignl,.-copysignl
|
||||
+
|
||||
+libc_hidden_def(copysignl)
|
||||
+
|
@ -1,289 +0,0 @@
|
||||
--- a/include/elf.h
|
||||
+++ b/include/elf.h
|
||||
@@ -1547,6 +1547,7 @@ typedef struct
|
||||
#define STO_MIPS_INTERNAL 0x1
|
||||
#define STO_MIPS_HIDDEN 0x2
|
||||
#define STO_MIPS_PROTECTED 0x3
|
||||
+#define STO_MIPS_PLT 0x8
|
||||
#define STO_MIPS_SC_ALIGN_UNUSED 0xff
|
||||
|
||||
/* MIPS specific values for `st_info'. */
|
||||
@@ -1692,8 +1693,11 @@ typedef struct
|
||||
#define R_MIPS_TLS_TPREL64 48 /* TP-relative offset, 64 bit */
|
||||
#define R_MIPS_TLS_TPREL_HI16 49 /* TP-relative offset, high 16 bits */
|
||||
#define R_MIPS_TLS_TPREL_LO16 50 /* TP-relative offset, low 16 bits */
|
||||
+#define R_MIPS_GLOB_DAT 51
|
||||
+#define R_MIPS_COPY 126
|
||||
+#define R_MIPS_JUMP_SLOT 127
|
||||
/* Keep this the last entry. */
|
||||
-#define R_MIPS_NUM 51
|
||||
+#define R_MIPS_NUM 128
|
||||
|
||||
/* Legal values for p_type field of Elf32_Phdr. */
|
||||
|
||||
@@ -1759,7 +1763,13 @@ typedef struct
|
||||
#define DT_MIPS_COMPACT_SIZE 0x7000002f /* (O32)Size of compact rel section. */
|
||||
#define DT_MIPS_GP_VALUE 0x70000030 /* GP value for aux GOTs. */
|
||||
#define DT_MIPS_AUX_DYNAMIC 0x70000031 /* Address of aux .dynamic. */
|
||||
-#define DT_MIPS_NUM 0x32
|
||||
+/* The address of .got.plt in an executable using the new non-PIC ABI. */
|
||||
+#define DT_MIPS_PLTGOT 0x70000032
|
||||
+/* The base of the PLT in an executable using the new non-PIC ABI if that
|
||||
+ PLT is writable. For a non-writable PLT, this is omitted or has a zero
|
||||
+ value. */
|
||||
+#define DT_MIPS_RWPLT 0x70000034
|
||||
+#define DT_MIPS_NUM 0x35
|
||||
|
||||
/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */
|
||||
|
||||
--- a/ldso/ldso/dl-hash.c
|
||||
+++ b/ldso/ldso/dl-hash.c
|
||||
@@ -160,6 +160,11 @@ check_match (const ElfW(Sym) *sym, char
|
||||
/* undefined symbol itself */
|
||||
return NULL;
|
||||
|
||||
+#ifdef __mips__
|
||||
+ if (sym->st_shndx == SHN_UNDEF && !(sym->st_other & STO_MIPS_PLT))
|
||||
+ return NULL;
|
||||
+#endif
|
||||
+
|
||||
if (sym->st_value == 0)
|
||||
/* No value */
|
||||
return NULL;
|
||||
--- a/ldso/ldso/mips/dl-sysdep.h
|
||||
+++ b/ldso/ldso/mips/dl-sysdep.h
|
||||
@@ -93,10 +93,11 @@ typedef struct
|
||||
|
||||
#include <link.h>
|
||||
|
||||
-#define ARCH_NUM 3
|
||||
+#define ARCH_NUM 4
|
||||
#define DT_MIPS_GOTSYM_IDX (DT_NUM + OS_NUM)
|
||||
#define DT_MIPS_LOCAL_GOTNO_IDX (DT_NUM + OS_NUM +1)
|
||||
#define DT_MIPS_SYMTABNO_IDX (DT_NUM + OS_NUM +2)
|
||||
+#define DT_MIPS_PLTGOT_IDX (DT_NUM + OS_NUM +3)
|
||||
|
||||
#define ARCH_DYNAMIC_INFO(dpnt, dynamic, debug_addr) \
|
||||
do { \
|
||||
@@ -106,6 +107,8 @@ else if (dpnt->d_tag == DT_MIPS_LOCAL_GO
|
||||
dynamic[DT_MIPS_LOCAL_GOTNO_IDX] = dpnt->d_un.d_val; \
|
||||
else if (dpnt->d_tag == DT_MIPS_SYMTABNO) \
|
||||
dynamic[DT_MIPS_SYMTABNO_IDX] = dpnt->d_un.d_val; \
|
||||
+else if (dpnt->d_tag == DT_MIPS_PLTGOT) \
|
||||
+ dynamic[DT_MIPS_PLTGOT_IDX] = dpnt->d_un.d_val; \
|
||||
else if (dpnt->d_tag == DT_MIPS_RLD_MAP) \
|
||||
*(ElfW(Addr) *)(dpnt->d_un.d_ptr) = (ElfW(Addr)) debug_addr; \
|
||||
} while (0)
|
||||
@@ -114,6 +117,7 @@ else if (dpnt->d_tag == DT_MIPS_RLD_MAP)
|
||||
#define INIT_GOT(GOT_BASE,MODULE) \
|
||||
do { \
|
||||
unsigned long idx; \
|
||||
+ unsigned long *pltgot; \
|
||||
\
|
||||
/* Check if this is the dynamic linker itself */ \
|
||||
if (MODULE->libtype == program_interpreter) \
|
||||
@@ -123,6 +127,12 @@ do { \
|
||||
GOT_BASE[0] = (unsigned long) _dl_runtime_resolve; \
|
||||
GOT_BASE[1] = (unsigned long) MODULE; \
|
||||
\
|
||||
+ pltgot = MODULE->dynamic_info[DT_MIPS_PLTGOT_IDX]; \
|
||||
+ if (pltgot) { \
|
||||
+ pltgot[0] = (unsigned long) _dl_runtime_pltresolve; \
|
||||
+ pltgot[1] = (unsigned long) MODULE; \
|
||||
+ } \
|
||||
+ \
|
||||
/* Add load address displacement to all local GOT entries */ \
|
||||
idx = 2; \
|
||||
while (idx < MODULE->dynamic_info[DT_MIPS_LOCAL_GOTNO_IDX]) \
|
||||
@@ -157,9 +167,9 @@ void _dl_perform_mips_global_got_relocat
|
||||
#define OFFS_ALIGN 0x7ffff000
|
||||
#endif /* O32 || N32 */
|
||||
|
||||
-#define elf_machine_type_class(type) ELF_RTYPE_CLASS_PLT
|
||||
-/* MIPS does not have COPY relocs */
|
||||
-#define DL_NO_COPY_RELOCS
|
||||
+#define elf_machine_type_class(type) \
|
||||
+ ((((type) == R_MIPS_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT) \
|
||||
+ | (((type) == R_MIPS_COPY) * ELF_RTYPE_CLASS_COPY))
|
||||
|
||||
#define OFFSET_GP_GOT 0x7ff0
|
||||
|
||||
--- a/ldso/ldso/mips/elfinterp.c
|
||||
+++ b/ldso/ldso/mips/elfinterp.c
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "ldso.h"
|
||||
|
||||
extern int _dl_runtime_resolve(void);
|
||||
+extern int _dl_runtime_pltresolve(void);
|
||||
|
||||
#define OFFSET_GP_GOT 0x7ff0
|
||||
|
||||
@@ -83,6 +84,61 @@ unsigned long __dl_runtime_resolve(unsig
|
||||
return new_addr;
|
||||
}
|
||||
|
||||
+unsigned long
|
||||
+__dl_runtime_pltresolve(struct elf_resolve *tpnt, int reloc_entry)
|
||||
+{
|
||||
+ int reloc_type;
|
||||
+ ELF_RELOC *this_reloc;
|
||||
+ char *strtab;
|
||||
+ Elf32_Sym *symtab;
|
||||
+ int symtab_index;
|
||||
+ char *rel_addr;
|
||||
+ char *new_addr;
|
||||
+ char **got_addr;
|
||||
+ unsigned long instr_addr;
|
||||
+ char *symname;
|
||||
+
|
||||
+ rel_addr = (char *)tpnt->dynamic_info[DT_JMPREL];
|
||||
+ this_reloc = (ELF_RELOC *)(intptr_t)(rel_addr + reloc_entry);
|
||||
+ reloc_type = ELF32_R_TYPE(this_reloc->r_info);
|
||||
+ symtab_index = ELF32_R_SYM(this_reloc->r_info);
|
||||
+
|
||||
+ symtab = (Elf32_Sym *)(intptr_t)tpnt->dynamic_info[DT_SYMTAB];
|
||||
+ strtab = (char *)tpnt->dynamic_info[DT_STRTAB];
|
||||
+ symname = strtab + symtab[symtab_index].st_name;
|
||||
+
|
||||
+ /* Address of the jump instruction to fix up. */
|
||||
+ instr_addr = ((unsigned long)this_reloc->r_offset +
|
||||
+ (unsigned long)tpnt->loadaddr);
|
||||
+ got_addr = (char **)instr_addr;
|
||||
+
|
||||
+ /* Get the address of the GOT entry. */
|
||||
+ new_addr = _dl_find_hash(symname, tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT);
|
||||
+ if (unlikely(!new_addr)) {
|
||||
+ _dl_dprintf(2, "%s: can't resolve symbol '%s' in lib '%s'.\n", _dl_progname, symname, tpnt->libname);
|
||||
+ _dl_exit(1);
|
||||
+ }
|
||||
+
|
||||
+#if defined (__SUPPORT_LD_DEBUG__)
|
||||
+ if ((unsigned long)got_addr < 0x40000000) {
|
||||
+ if (_dl_debug_bindings) {
|
||||
+ _dl_dprintf(_dl_debug_file, "\nresolve function: %s", symname);
|
||||
+ if (_dl_debug_detail)
|
||||
+ _dl_dprintf(_dl_debug_file,
|
||||
+ "\n\tpatched: %x ==> %x @ %x",
|
||||
+ *got_addr, new_addr, got_addr);
|
||||
+ }
|
||||
+ }
|
||||
+ if (!_dl_debug_nofixups) {
|
||||
+ *got_addr = new_addr;
|
||||
+ }
|
||||
+#else
|
||||
+ *got_addr = new_addr;
|
||||
+#endif
|
||||
+
|
||||
+ return (unsigned long)new_addr;
|
||||
+}
|
||||
+
|
||||
void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
|
||||
unsigned long rel_addr, unsigned long rel_size)
|
||||
{
|
||||
@@ -115,6 +171,7 @@ int _dl_parse_relocation_information(str
|
||||
got = (unsigned long *) tpnt->dynamic_info[DT_PLTGOT];
|
||||
|
||||
for (i = 0; i < rel_size; i++, rpnt++) {
|
||||
+ char *symname = NULL;
|
||||
reloc_addr = (unsigned long *) (tpnt->loadaddr +
|
||||
(unsigned long) rpnt->r_offset);
|
||||
reloc_type = ELF_R_TYPE(rpnt->r_info);
|
||||
@@ -128,6 +185,16 @@ int _dl_parse_relocation_information(str
|
||||
old_val = *reloc_addr;
|
||||
#endif
|
||||
|
||||
+ if (reloc_type == R_MIPS_JUMP_SLOT || reloc_type == R_MIPS_COPY) {
|
||||
+ symname = strtab + symtab[symtab_index].st_name;
|
||||
+ symbol_addr = (unsigned long)_dl_find_hash(symname,
|
||||
+ tpnt->symbol_scope,
|
||||
+ tpnt,
|
||||
+ elf_machine_type_class(reloc_type));
|
||||
+ if (unlikely(!symbol_addr && ELF32_ST_BIND(symtab[symtab_index].st_info) != STB_WEAK))
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
switch (reloc_type) {
|
||||
#if _MIPS_SIM == _MIPS_SIM_ABI64
|
||||
case (R_MIPS_64 << 8) | R_MIPS_REL32:
|
||||
@@ -148,6 +215,24 @@ int _dl_parse_relocation_information(str
|
||||
*reloc_addr += (unsigned long) tpnt->loadaddr;
|
||||
}
|
||||
break;
|
||||
+ case R_MIPS_JUMP_SLOT:
|
||||
+ *reloc_addr = symbol_addr;
|
||||
+ break;
|
||||
+ case R_MIPS_COPY:
|
||||
+ if (symbol_addr) {
|
||||
+#if defined (__SUPPORT_LD_DEBUG__)
|
||||
+ if (_dl_debug_move)
|
||||
+ _dl_dprintf(_dl_debug_file,
|
||||
+ "\n%s move %d bytes from %x to %x",
|
||||
+ symname, symtab[symtab_index].st_size,
|
||||
+ symbol_addr, reloc_addr);
|
||||
+#endif
|
||||
+
|
||||
+ _dl_memcpy((char *)reloc_addr,
|
||||
+ (char *)symbol_addr,
|
||||
+ symtab[symtab_index].st_size);
|
||||
+ }
|
||||
+ break;
|
||||
case R_MIPS_NONE:
|
||||
break;
|
||||
default:
|
||||
--- a/ldso/ldso/mips/resolve.S
|
||||
+++ b/ldso/ldso/mips/resolve.S
|
||||
@@ -112,3 +112,54 @@ _dl_runtime_resolve:
|
||||
.end _dl_runtime_resolve
|
||||
.previous
|
||||
|
||||
+/* Assembler veneer called from the PLT header code when using the
|
||||
+ non-PIC ABI.
|
||||
+
|
||||
+ Code in each PLT entry puts the caller's return address into t7 ($15),
|
||||
+ the PLT entry index into t8 ($24), the address of _dl_runtime_pltresolve
|
||||
+ into t9 ($25) and the address of .got.plt into gp ($28). __dl_runtime_pltresolve
|
||||
+ needs a0 ($4) to hold the link map and a1 ($5) to hold the index into
|
||||
+ .rel.plt (== PLT entry index * 4). */
|
||||
+
|
||||
+ .text
|
||||
+ .align 2
|
||||
+ .globl _dl_runtime_pltresolve
|
||||
+ .type _dl_runtime_pltresolve,@function
|
||||
+ .ent _dl_runtime_pltresolve
|
||||
+_dl_runtime_pltresolve:
|
||||
+ .frame $29, 40, $31
|
||||
+ .set noreorder
|
||||
+ # Save arguments and sp value in stack.
|
||||
+ subu $29, 40
|
||||
+ lw $10, 4($28)
|
||||
+ # Modify t9 ($25) so as to point .cpload instruction.
|
||||
+ addiu $25, 12
|
||||
+ # Compute GP.
|
||||
+ .cpload $25
|
||||
+ .set reorder
|
||||
+
|
||||
+ /* Store function arguments from registers to stack */
|
||||
+ sw $15, 36($29)
|
||||
+ sw $4, 16($29)
|
||||
+ sw $5, 20($29)
|
||||
+ sw $6, 24($29)
|
||||
+ sw $7, 28($29)
|
||||
+
|
||||
+ /* Setup functions args and call __dl_runtime_pltresolve. */
|
||||
+ move $4, $10
|
||||
+ sll $5, $24, 3
|
||||
+ jal __dl_runtime_pltresolve
|
||||
+
|
||||
+ /* Restore function arguments from stack to registers */
|
||||
+ lw $31, 36($29)
|
||||
+ lw $4, 16($29)
|
||||
+ lw $5, 20($29)
|
||||
+ lw $6, 24($29)
|
||||
+ lw $7, 28($29)
|
||||
+
|
||||
+ /* Do a tail call to the original function */
|
||||
+ addiu $29, 40
|
||||
+ move $25, $2
|
||||
+ jr $25
|
||||
+ .end _dl_runtime_pltresolve
|
||||
+ .previous
|
@ -1,103 +0,0 @@
|
||||
--- 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
|
||||
|
||||
SSRC := \
|
||||
__longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S \
|
||||
--- /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);
|
@ -1,68 +0,0 @@
|
||||
From 2b69e9906e5087a796b3a15e9aabcd102c705b19 Mon Sep 17 00:00:00 2001
|
||||
From: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
|
||||
Date: Wed, 16 Dec 2009 12:16:08 +0000
|
||||
Subject: avr32: add varargs handling of prctl syscall
|
||||
|
||||
prctl is defined to use varargs in the header file, hence it needs varargs
|
||||
specific handling in the source. This patch properly handles the variodic
|
||||
argument before the syscall is passed to the kernel for the AVR32 architecture.
|
||||
|
||||
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
|
||||
---
|
||||
diff --git a/libc/sysdeps/linux/avr32/Makefile.arch b/libc/sysdeps/linux/avr32/Makefile.arch
|
||||
index bc5f625..98b85a7 100644
|
||||
--- a/libc/sysdeps/linux/avr32/Makefile.arch
|
||||
+++ b/libc/sysdeps/linux/avr32/Makefile.arch
|
||||
@@ -5,7 +5,7 @@
|
||||
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
|
||||
#
|
||||
|
||||
-CSRC := brk.c clone.c mmap.c sigaction.c
|
||||
+CSRC := brk.c clone.c mmap.c prctl.c sigaction.c
|
||||
|
||||
SSRC := __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
|
||||
sigrestorer.S syscall.S vfork.S
|
||||
diff --git a/libc/sysdeps/linux/avr32/prctl.c b/libc/sysdeps/linux/avr32/prctl.c
|
||||
new file mode 100644
|
||||
index 0000000..4e146e3
|
||||
--- a/dev/null
|
||||
+++ b/libc/sysdeps/linux/avr32/prctl.c
|
||||
@@ -0,0 +1,36 @@
|
||||
+/*
|
||||
+ * prctl syscall for AVR32 Linux.
|
||||
+ *
|
||||
+ * Copyright (C) 2010 Atmel Corporation
|
||||
+ *
|
||||
+ * This file is subject to the terms and conditions of the GNU Lesser General
|
||||
+ * Public License. See the file "COPYING.LIB" in the main directory of this
|
||||
+ * archive for more details.
|
||||
+ */
|
||||
+#include <sys/syscall.h>
|
||||
+#include <sys/prctl.h>
|
||||
+#include <stdarg.h>
|
||||
+
|
||||
+#ifdef __NR_prctl
|
||||
+#define __NR___syscall_prctl __NR_prctl
|
||||
+static inline _syscall5(int, __syscall_prctl, int, option, long, arg2,
|
||||
+ long, arg3, long, arg4, long, arg5);
|
||||
+
|
||||
+int prctl(int __option, ...)
|
||||
+{
|
||||
+ long arg2;
|
||||
+ long arg3;
|
||||
+ long arg4;
|
||||
+ long arg5;
|
||||
+ va_list ap;
|
||||
+
|
||||
+ va_start(ap, __option);
|
||||
+ arg2 = va_arg(ap, long);
|
||||
+ arg3 = va_arg(ap, long);
|
||||
+ arg4 = va_arg(ap, long);
|
||||
+ arg5 = va_arg(ap, long);
|
||||
+ va_end(ap);
|
||||
+
|
||||
+ return INLINE_SYSCALL(prctl, 5, __option, arg2, arg3, arg4, arg5);
|
||||
+}
|
||||
+#endif
|
||||
--
|
||||
cgit v0.8.2.1
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +0,0 @@
|
||||
--- a/libc/inet/getaddrinfo.c
|
||||
+++ b/libc/inet/getaddrinfo.c
|
||||
@@ -187,6 +187,8 @@
|
||||
}
|
||||
|
||||
for (runp = ifa; runp != NULL; runp = runp->ifa_next) {
|
||||
+ if (runp->ifa_addr == NULL)
|
||||
+ continue;
|
||||
#if defined __UCLIBC_HAS_IPV4__
|
||||
if (runp->ifa_addr->sa_family == PF_INET)
|
||||
seen |= SEEN_IPV4;
|
@ -1,30 +0,0 @@
|
||||
The kernel does not save these registers across system calls. GCC 4.4
|
||||
has gotten more agressive about using them for temporary variables, so
|
||||
this shows up as intermittent crashes if you use a recent compiler.
|
||||
|
||||
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
diff --git a/libc/sysdeps/linux/mips/bits/syscalls.h b/libc/sysdeps/linux/mips/bits/syscalls.h
|
||||
index 3639913..28b0f91 100644
|
||||
--- a/libc/sysdeps/linux/mips/bits/syscalls.h
|
||||
+++ b/libc/sysdeps/linux/mips/bits/syscalls.h
|
||||
@@ -261,7 +261,7 @@
|
||||
})
|
||||
|
||||
#define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
|
||||
- "$14", "$15", "$24", "$25", "memory"
|
||||
+ "$14", "$15", "$24", "$25", "hi", "lo", "memory"
|
||||
|
||||
#else /* N32 || N64 */
|
||||
|
||||
@@ -318,7 +318,7 @@
|
||||
})
|
||||
|
||||
#define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
|
||||
- "$14", "$15", "$24", "$25", "memory"
|
||||
+ "$14", "$15", "$24", "$25", "hi", "lo", "memory"
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
--
|
@ -1,45 +0,0 @@
|
||||
From c602079e5b7ba998d1dd6cae4a305af80e6cba52 Mon Sep 17 00:00:00 2001
|
||||
From: Gabor Juhos <juhosg@openwrt.org>
|
||||
Date: Tue, 23 Mar 2010 08:35:27 +0100
|
||||
Subject: [PATCH] Fix use-after-free bug in __dns_lookup.
|
||||
|
||||
If the type of the first answer does not match with the requested type,
|
||||
then the dotted name will be freed. If there are no further answers in
|
||||
the DNS reply, this pointer will be used later on in the same function.
|
||||
Additionally it is passed to the caller, and may cause strange behaviour.
|
||||
|
||||
For example, the following busybox commands are triggering a segmentation
|
||||
fault with uClibc 0.9.30.x
|
||||
|
||||
- nslookup ipv6.google.com
|
||||
- ping ipv6.google.com
|
||||
- wget http//ipv6.google.com/
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
---
|
||||
|
||||
See https://dev.openwrt.org/ticket/6886 for a testcase
|
||||
---
|
||||
libc/inet/resolv.c | 4 +---
|
||||
1 files changed, 1 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
|
||||
index 0a6fd7a..e76f0aa 100644
|
||||
--- a/libc/inet/resolv.c
|
||||
+++ b/libc/inet/resolv.c
|
||||
@@ -1501,10 +1501,8 @@ int attribute_hidden __dns_lookup(const char *name,
|
||||
memcpy(a, &ma, sizeof(ma));
|
||||
if (a->atype != T_SIG && (NULL == a->buf || (type != T_A && type != T_AAAA)))
|
||||
break;
|
||||
- if (a->atype != type) {
|
||||
- free(a->dotted);
|
||||
+ if (a->atype != type)
|
||||
continue;
|
||||
- }
|
||||
a->add_count = h.ancount - j - 1;
|
||||
if ((a->rdlength + sizeof(struct in_addr*)) * a->add_count > a->buflen)
|
||||
break;
|
||||
--
|
||||
1.5.3.2
|
||||
|
@ -1,25 +0,0 @@
|
||||
From a115ee502fca8b1eb8ce327d764562d3ae669954 Mon Sep 17 00:00:00 2001
|
||||
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
||||
Date: Mon, 12 Apr 2010 13:09:25 +0000
|
||||
Subject: attribute_optimize: fix typo with args
|
||||
|
||||
curious how 308f5c6e5fd56ea3d1a5512e34388aad788f1180 ever worked.. :P
|
||||
|
||||
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
||||
---
|
||||
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
|
||||
index 2729d30..4615a6a 100644
|
||||
--- a/include/libc-symbols.h
|
||||
+++ b/include/libc-symbols.h
|
||||
@@ -86,9 +86,9 @@
|
||||
#endif
|
||||
|
||||
#if defined __GNUC__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
|
||||
-# define attribute_optimize(lvl) __attribute__ ((optimize(x)))
|
||||
+# define attribute_optimize(x) __attribute__ ((optimize(x)))
|
||||
#else
|
||||
-# define attribute_optimize(lvl)
|
||||
+# define attribute_optimize(x)
|
||||
#endif
|
||||
|
||||
#define attribute_unused __attribute__ ((unused))
|
@ -1,33 +0,0 @@
|
||||
From afd7606ca42a2586b8823c7bd1a4a7cfd2476e3b Mon Sep 17 00:00:00 2001
|
||||
From: Steven J. Magnani <steve@digidescorp.com>
|
||||
Date: Wed, 09 Jun 2010 14:02:21 +0000
|
||||
Subject: malloc-simple: Make calloc() return zeroed memory
|
||||
|
||||
The 0.9.31 release included a change to malloc-simple to request
|
||||
uninitialized memory from noMMU kernels. Unfortunately, the corresponding
|
||||
calloc() code assumed that memory returned by malloc() was already zeroed,
|
||||
which leads to all kinds of nastiness.
|
||||
|
||||
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
|
||||
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
||||
---
|
||||
diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c
|
||||
index 51da14a..914c89d 100644
|
||||
--- a/libc/stdlib/malloc-simple/alloc.c
|
||||
+++ b/libc/stdlib/malloc-simple/alloc.c
|
||||
@@ -60,11 +60,10 @@ void * calloc(size_t nmemb, size_t lsize)
|
||||
__set_errno(ENOMEM);
|
||||
return NULL;
|
||||
}
|
||||
- result=malloc(size);
|
||||
-#if 0
|
||||
- /* Standard unix mmap using /dev/zero clears memory so calloc
|
||||
- * doesn't need to actually zero anything....
|
||||
- */
|
||||
+ result = malloc(size);
|
||||
+
|
||||
+#ifndef __ARCH_USE_MMU__
|
||||
+ /* mmap'd with MAP_UNINITIALIZE, we have to blank memory ourselves */
|
||||
if (result != NULL) {
|
||||
memset(result, 0, size);
|
||||
}
|
@ -1,86 +0,0 @@
|
||||
From f6651fa449e1d4bbbb466b091f34e6752f6506f9 Mon Sep 17 00:00:00 2001
|
||||
From: David A Ramos <daramos@gustav.stanford.edu>
|
||||
Date: Tue, 27 Jul 2010 11:10:15 +0000
|
||||
Subject: Fix ctime() standard compliance bug
|
||||
|
||||
fixes issue2209:
|
||||
ctime() was updated in 0.9.31 to call localtime_r() instead of
|
||||
localtime() to
|
||||
avoid using a static buffer. Unfortunately, this change replaces the
|
||||
static
|
||||
buffer (which is zeroed out on initialization) with an uninitialized
|
||||
local
|
||||
buffer.
|
||||
|
||||
In the common case, this has no effect. However, with a sufficiently
|
||||
large
|
||||
time_t value, the value returned differs from that returned by
|
||||
asctime(localtime(t)), and thus violates the ANSI/ISO standard.
|
||||
|
||||
An example input is (on a 64-bit machine):
|
||||
time_t t = 0x7ffffffffff6c600;
|
||||
|
||||
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
||||
---
|
||||
diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c
|
||||
index dfa8c0d..0d12bf3 100644
|
||||
--- a/libc/misc/time/time.c
|
||||
+++ b/libc/misc/time/time.c
|
||||
@@ -479,6 +479,7 @@ char *ctime(const time_t *t)
|
||||
* localtime's static buffer:
|
||||
*/
|
||||
struct tm xtm;
|
||||
+ memset(&xtm, 0, sizeof(xtm));
|
||||
|
||||
return asctime(localtime_r(t, &xtm));
|
||||
}
|
||||
diff --git a/test/time/tst-ctime.c b/test/time/tst-ctime.c
|
||||
new file mode 100644
|
||||
index 0000000..91d827a
|
||||
--- a/dev/null
|
||||
+++ b/test/time/tst-ctime.c
|
||||
@@ -0,0 +1,44 @@
|
||||
+/* vi: set sw=4 ts=4: */
|
||||
+/* testcase for ctime(3) with large time
|
||||
+ * Copyright (C) 2010 David A Ramos <daramos@gustav.stanford.edu>
|
||||
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
|
||||
+ */
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <time.h>
|
||||
+
|
||||
+#define MAX_POSITIVE(type) (~0 & ~((type) 1 << (sizeof(type)*8 - 1)))
|
||||
+
|
||||
+int do_test(int argc, char **argv) {
|
||||
+ char *correct = 0, *s;
|
||||
+ int status;
|
||||
+
|
||||
+ /* need a very high positive number (e.g., max - 1024) */
|
||||
+ time_t test = MAX_POSITIVE(time_t) - 1024;
|
||||
+
|
||||
+ s = asctime(localtime(&test));
|
||||
+
|
||||
+ if (s) {
|
||||
+ // copy static buffer to heap
|
||||
+ correct = malloc(strlen(s)+1);
|
||||
+ strcpy(correct, s);
|
||||
+ }
|
||||
+
|
||||
+ s = ctime(&test);
|
||||
+
|
||||
+ printf("ANSI:\t%suClibc:\t%s", correct, s);
|
||||
+
|
||||
+ if (s != correct && strcmp(correct, s))
|
||||
+ status = EXIT_FAILURE;
|
||||
+ else
|
||||
+ status = EXIT_SUCCESS;
|
||||
+
|
||||
+ if (correct)
|
||||
+ free(correct);
|
||||
+
|
||||
+ return status;
|
||||
+}
|
||||
+
|
||||
+#include <test-skeleton.c>
|
@ -1,20 +0,0 @@
|
||||
From ac86be72f8b01ac3792737f4b67283541cf2c15b Mon Sep 17 00:00:00 2001
|
||||
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
||||
Date: Tue, 27 Jul 2010 15:05:59 +0000
|
||||
Subject: remove trailing comma in enum
|
||||
|
||||
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
||||
---
|
||||
diff --git a/libc/sysdeps/linux/common/bits/confname.h b/libc/sysdeps/linux/common/bits/confname.h
|
||||
index ec4b72a..97ddd47 100644
|
||||
--- a/libc/sysdeps/linux/common/bits/confname.h
|
||||
+++ b/libc/sysdeps/linux/common/bits/confname.h
|
||||
@@ -527,7 +527,7 @@ enum
|
||||
|
||||
_SC_THREAD_ROBUST_PRIO_INHERIT,
|
||||
#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT
|
||||
- _SC_THREAD_ROBUST_PRIO_PROTECT,
|
||||
+ _SC_THREAD_ROBUST_PRIO_PROTECT
|
||||
#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT
|
||||
};
|
||||
|
@ -1,40 +0,0 @@
|
||||
From c602079e5b7ba998d1dd6cae4a305af80e6cba52 Mon Sep 17 00:00:00 2001
|
||||
From: Gabor Juhos <juhosg@openwrt.org>
|
||||
Date: Tue, 23 Mar 2010 08:35:27 +0100
|
||||
Subject: [PATCH] Fix use-after-free bug in __dns_lookup.
|
||||
|
||||
If the type of the first answer does not match with the requested type,
|
||||
then the dotted name will be freed. If there are no further answers in
|
||||
the DNS reply, this pointer will be used later on in the same function.
|
||||
Additionally it is passed to the caller, and may cause strange behaviour.
|
||||
|
||||
For example, the following busybox commands are triggering a segmentation
|
||||
fault with uClibc 0.9.30.x
|
||||
|
||||
- nslookup ipv6.google.com
|
||||
- ping ipv6.google.com
|
||||
- wget http//ipv6.google.com/
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
---
|
||||
|
||||
See https://dev.openwrt.org/ticket/6886 for a testcase
|
||||
---
|
||||
libc/inet/resolv.c | 4 +---
|
||||
1 files changed, 1 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/libc/inet/resolv.c
|
||||
+++ b/libc/inet/resolv.c
|
||||
@@ -1517,10 +1517,8 @@ int attribute_hidden __dns_lookup(const
|
||||
memcpy(a, &ma, sizeof(ma));
|
||||
if (a->atype != T_SIG && (NULL == a->buf || (type != T_A && type != T_AAAA)))
|
||||
break;
|
||||
- if (a->atype != type) {
|
||||
- free(a->dotted);
|
||||
+ if (a->atype != type)
|
||||
continue;
|
||||
- }
|
||||
a->add_count = h.ancount - j - 1;
|
||||
if ((a->rdlength + sizeof(struct in_addr*)) * a->add_count > a->buflen)
|
||||
break;
|
@ -1,33 +0,0 @@
|
||||
From d4ede2b0a4727c1f5236dd9308f09cbf7a39761a Mon Sep 17 00:00:00 2001
|
||||
From: Timo Teräs <timo.teras@iki.fi>
|
||||
Date: Tue, 13 Apr 2010 06:38:59 +0000
|
||||
Subject: linuxthreads.new: initialize stdio locking
|
||||
|
||||
uClibc requires the threading library to enable locking for
|
||||
stdio, or the locking is not done at all.
|
||||
|
||||
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
|
||||
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
||||
---
|
||||
diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c
|
||||
index 6ae9a10..614cad1 100644
|
||||
--- a/libpthread/linuxthreads/pthread.c
|
||||
+++ b/libpthread/linuxthreads/pthread.c
|
||||
@@ -613,6 +613,17 @@ static void pthread_initialize(void)
|
||||
#ifdef USE_TLS
|
||||
GL(dl_init_static_tls) = &__pthread_init_static_tls;
|
||||
#endif
|
||||
+
|
||||
+ /* uClibc-specific stdio initialization for threads. */
|
||||
+ {
|
||||
+ FILE *fp;
|
||||
+ _stdio_user_locking = 0; /* 2 if threading not initialized */
|
||||
+ for (fp = _stdio_openlist; fp != NULL; fp = fp->__nextopen) {
|
||||
+ if (fp->__user_locking != 1) {
|
||||
+ fp->__user_locking = 0;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
void __pthread_initialize(void)
|
@ -1,51 +0,0 @@
|
||||
--- a/include/string.h
|
||||
+++ b/include/string.h
|
||||
@@ -357,18 +357,40 @@ extern char *index (__const char *__s, i
|
||||
/* 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.
|
@ -1,14 +0,0 @@
|
||||
--- a/include/sys/timex.h
|
||||
+++ b/include/sys/timex.h
|
||||
@@ -116,9 +116,8 @@ struct timex
|
||||
|
||||
__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)
|
||||
|
@ -1,43 +0,0 @@
|
||||
[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 +++++++++---
|
||||
1 files changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/ldso/ldso/ldso.c
|
||||
+++ b/ldso/ldso/ldso.c
|
||||
@@ -923,9 +923,15 @@ void _dl_get_ready_to_run(struct elf_res
|
||||
#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
|
@ -1,12 +0,0 @@
|
||||
--- a/libc/sysdeps/linux/common/bits/mathcalls.h
|
||||
+++ b/libc/sysdeps/linux/common/bits/mathcalls.h
|
||||
@@ -237,8 +237,7 @@ __END_NAMESPACE_C99
|
||||
|
||||
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
-/* DELETE? __MATHDECL_PRIV adds another "__": so this is "____isnan"???! */
|
||||
-/*__MATHDECL_PRIV (int,__isnan,, (_Mdouble_ __value), (__const__))*/
|
||||
+__MATHDECL_PRIV (int,isnan,, (_Mdouble_ __value), (__const__));
|
||||
|
||||
#if defined __USE_MISC || defined __USE_XOPEN
|
||||
/* Return nonzero if VALUE is not a number. */
|
@ -1,23 +0,0 @@
|
||||
--- a/include/math.h
|
||||
+++ b/include/math.h
|
||||
@@ -198,7 +198,7 @@ libm_hidden_proto(signgam)
|
||||
|
||||
|
||||
/* 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:
|
||||
@@ -318,6 +318,11 @@ enum
|
||||
|
||||
#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
|
@ -1,11 +0,0 @@
|
||||
--- a/libc/stdio/_stdio.c
|
||||
+++ b/libc/stdio/_stdio.c
|
||||
@@ -119,7 +119,7 @@ static FILE _stdio_streams[] = {
|
||||
__FLAG_NBF|__FLAG_WRITEONLY, \
|
||||
2, \
|
||||
NULL, \
|
||||
- NULL, \
|
||||
+ 0, \
|
||||
0 )
|
||||
};
|
||||
|
@ -1,103 +0,0 @@
|
||||
--- 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
@ -1,110 +0,0 @@
|
||||
From 911bf867eb82e28799e81578c50d82ee166cebb5 Mon Sep 17 00:00:00 2001
|
||||
From: Gabor Juhos <juhosg@openwrt.org>
|
||||
Date: Tue, 6 Apr 2010 17:25:56 +0200
|
||||
Subject: [PATCH] MIPS: restore INLINE_SYSCALL macro
|
||||
|
||||
The MIPS specific INLINE_SYSCALL macro has been renamed to
|
||||
INLINE_SYSCALL_NCS with:
|
||||
|
||||
763bbf9e9a27426c9be8322dca5ddf2cb4dbc464
|
||||
|
||||
syscall: unify part 2: NCS variety
|
||||
|
||||
Declare common NCS (non-constant syscall) variants and convert the
|
||||
existing ports over to this.
|
||||
|
||||
This change breaks system calls. The code generated with using of the
|
||||
new macro does not obey the restartable syscall convention used by the
|
||||
linux kernel. When it tries to restart the syscall the errno value is
|
||||
not being replaced by the syscall number.
|
||||
|
||||
This causes weird behaviour of the 'ping' command in busybox for
|
||||
example:
|
||||
|
||||
root@OpenWrt:/# ping 192.168.1.254
|
||||
PING 192.168.1.254 (192.168.1.254): 56 data bytes
|
||||
64 bytes from 192.168.1.254: seq=0 ttl=128 time=6.292 ms
|
||||
ping: recvfrom: Function not implemented
|
||||
64 bytes from 192.168.1.254: seq=1 ttl=128 time=0.719 ms
|
||||
ping: recvfrom: Function not implemented
|
||||
64 bytes from 192.168.1.254: seq=2 ttl=128 time=0.489 ms
|
||||
ping: recvfrom: Function not implemented
|
||||
64 bytes from 192.168.1.254: seq=3 ttl=128 time=0.486 ms
|
||||
ping: recvfrom: Function not implemented
|
||||
64 bytes from 192.168.1.254: seq=4 ttl=128 time=0.487 ms
|
||||
ping: recvfrom: Function not implemented
|
||||
64 bytes from 192.168.1.254: seq=5 ttl=128 time=0.939 ms
|
||||
ping: recvfrom: Function not implemented
|
||||
64 bytes from 192.168.1.254: seq=6 ttl=128 time=0.971 ms
|
||||
ping: recvfrom: Function not implemented
|
||||
64 bytes from 192.168.1.254: seq=7 ttl=128 time=0.488 ms
|
||||
ping: recvfrom: Funct^C
|
||||
--- 192.168.1.254 ping statistics ---
|
||||
9 packets transmitted, 9 packets received, 0% packet loss
|
||||
round-trip min/avg/max = 0.486/1.307/6.292 ms
|
||||
root@OpenWrt:/#
|
||||
|
||||
Here is the relevant assembler code parts of the 'recvfrom' function:
|
||||
|
||||
with the current INLINE_SYSCALL_NCS:
|
||||
00000000 <__GI_recvfrom>:
|
||||
...
|
||||
2c: 24021050 li v0,4176
|
||||
30: 8fd1003c lw s1,60(s8)
|
||||
34: 8fd00038 lw s0,56(s8)
|
||||
38: 27bdffe0 addiu sp,sp,-32
|
||||
3c: afb00010 sw s0,16(sp)
|
||||
40: afb10014 sw s1,20(sp) <-- wrong
|
||||
44: 0000000c syscall
|
||||
48: 27bd0020 addiu sp,sp,32
|
||||
...
|
||||
|
||||
with the old INLINE_SYSCALL:
|
||||
00000000 <__libc_recvfrom>:
|
||||
...
|
||||
28: 8fd0003c lw s0,60(s8)
|
||||
2c: 8fc20038 lw v0,56(s8)
|
||||
30: 27bdffe0 addiu sp,sp,-32
|
||||
34: afa20010 sw v0,16(sp)
|
||||
38: afb00014 sw s0,20(sp)
|
||||
3c: 24021050 li v0,4176 <-- good
|
||||
40: 0000000c syscall
|
||||
44: 27bd0020 addiu sp,sp,32
|
||||
...
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
Cc: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
Notes:
|
||||
|
||||
The ideal solution would to fix the 'internal_syscall' macros to generate
|
||||
correct code for the NCS case as well. However the INLINE_SYSCALL macro
|
||||
generates smaller code if the syscall number is constant, so it is
|
||||
useful in such cases.
|
||||
|
||||
Additionally, the current INLINE_SYSCALL_NCS in the 'mips/bits/syscall.h'
|
||||
is a duplicate of the one in the 'common/bits/syscalls-common.h' so it
|
||||
should be removed anyway.
|
||||
---
|
||||
libc/sysdeps/linux/mips/bits/syscalls.h | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libc/sysdeps/linux/mips/bits/syscalls.h b/libc/sysdeps/linux/mips/bits/syscalls.h
|
||||
index 28b0f91..944d038 100644
|
||||
--- a/libc/sysdeps/linux/mips/bits/syscalls.h
|
||||
+++ b/libc/sysdeps/linux/mips/bits/syscalls.h
|
||||
@@ -19,9 +19,9 @@
|
||||
|
||||
/* Define a macro which expands into the inline wrapper code for a system
|
||||
call. */
|
||||
-#define INLINE_SYSCALL_NCS(name, nr, args...) \
|
||||
+#define INLINE_SYSCALL(name, nr, args...) \
|
||||
({ INTERNAL_SYSCALL_DECL(err); \
|
||||
- long result_var = INTERNAL_SYSCALL_NCS (name, err, nr, args); \
|
||||
+ long result_var = INTERNAL_SYSCALL(name, err, nr, args); \
|
||||
if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) ) \
|
||||
{ \
|
||||
__set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err)); \
|
||||
--
|
||||
1.5.3.2
|
||||
|
@ -1,26 +0,0 @@
|
||||
64 bit targets often don't have a separate fcntl64() system call, because they don't need one.
|
||||
|
||||
Signed-off-by: Rob Landley <rob at landley.net>
|
||||
|
||||
--- uClibc/include/fcntl.h 2010-04-02 10:34:27.000000000 -0500
|
||||
+++ uClibc.bak/include/fcntl.h 2010-05-16 04:54:10.000000000 -0500
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
-#ifndef __USE_FILE_OFFSET64
|
||||
+#if !defined(__USE_FILE_OFFSET64) || defined(__LP64__)
|
||||
extern int fcntl (int __fd, int __cmd, ...);
|
||||
libc_hidden_proto(fcntl)
|
||||
#else
|
||||
@@ -83,7 +83,7 @@
|
||||
# define fcntl fcntl64
|
||||
# endif
|
||||
#endif
|
||||
-#ifdef __USE_LARGEFILE64
|
||||
+#if defined(__USE_LARGEFILE64) && !defined(__LP64__)
|
||||
extern int fcntl64 (int __fd, int __cmd, ...);
|
||||
libc_hidden_proto(fcntl64)
|
||||
#endif
|
||||
|
||||
--
|
@ -1,18 +0,0 @@
|
||||
--- a/libpthread/linuxthreads.old/errno.c
|
||||
+++ b/libpthread/linuxthreads.old/errno.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "internals.h"
|
||||
#include <stdio.h>
|
||||
|
||||
+libpthread_hidden_proto(__errno_location)
|
||||
int *
|
||||
__errno_location (void)
|
||||
{
|
||||
@@ -29,6 +30,7 @@ __errno_location (void)
|
||||
return THREAD_GETMEM (self, p_errnop);
|
||||
}
|
||||
|
||||
+libpthread_hidden_proto(__h_errno_location)
|
||||
int *
|
||||
__h_errno_location (void)
|
||||
{
|
Loading…
Reference in New Issue
Block a user