Message ID | 1440612682-13834-1-git-send-email-abrodkin@synopsys.com |
---|---|
State | Accepted |
Headers | show |
Hi, On 26/08/2015 20:11, Alexey Brodkin wrote: > uClibc-ng is a spin-off of original uClibc, see http://www.uclibc-ng.org/ > > We try to regularly add changes from uClibc to uClibc-ng. > We even sent patches and bug reports to the uClibc mailing list. > The config file is compatible between uClibc-ng 1.0 and uClibc git master. > This might change in the future. > > Our main goal is to provide regularly a stable and tested release > to make embedded system developers happy. > > The main advantage of uClibc-ng over olde good uClibc is regular releases > so there's no need to keep tons of patches on top of years old > 0.9.33.2 > why do you not use musl ? it is actively support rather than being hooked on life support. John > Build-tested for > [1] ARM: Sunxi generic > [2] MIPS: Netgear WNDR3600/3700/3800 > > Run-tested for [yet out of the tree] Synopsys Designware ARC AXS101. > > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Waldemar Brodkorb <wbx@uclibc-ng.org> > Cc: Mathieu Olivari <mathieu@codeaurora.org> > Cc: Felix Fietkau <nbd@openwrt.org> > Cc: John Crispin <blogic@openwrt.org> > --- > toolchain/uClibc/Config.in | 4 + > toolchain/uClibc/Config.version | 4 + > toolchain/uClibc/common.mk | 15 +- > toolchain/uClibc/config-ng-1.0.6/arm | 9 + > toolchain/uClibc/config-ng-1.0.6/armeb | 9 + > toolchain/uClibc/config-ng-1.0.6/common | 223 +++++++++++++++++++++++++ > toolchain/uClibc/config-ng-1.0.6/debug | 6 + > toolchain/uClibc/config-ng-1.0.6/i386 | 21 +++ > toolchain/uClibc/config-ng-1.0.6/i686 | 21 +++ > toolchain/uClibc/config-ng-1.0.6/m68k | 6 + > toolchain/uClibc/config-ng-1.0.6/mips | 18 ++ > toolchain/uClibc/config-ng-1.0.6/mips64 | 18 ++ > toolchain/uClibc/config-ng-1.0.6/mips64.32 | 19 +++ > toolchain/uClibc/config-ng-1.0.6/mips64.64 | 19 +++ > toolchain/uClibc/config-ng-1.0.6/mips64.n32 | 19 +++ > toolchain/uClibc/config-ng-1.0.6/mips64el | 18 ++ > toolchain/uClibc/config-ng-1.0.6/mips64el.32 | 19 +++ > toolchain/uClibc/config-ng-1.0.6/mips64el.64 | 19 +++ > toolchain/uClibc/config-ng-1.0.6/mips64el.n32 | 19 +++ > toolchain/uClibc/config-ng-1.0.6/mipsel | 18 ++ > toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt | 18 ++ > toolchain/uClibc/config-ng-1.0.6/powerpc | 6 + > toolchain/uClibc/config-ng-1.0.6/powerpc.e500 | 6 + > toolchain/uClibc/config-ng-1.0.6/sparc | 8 + > toolchain/uClibc/config-ng-1.0.6/sparc.leon | 8 + > toolchain/uClibc/config-ng-1.0.6/x86_64 | 6 + > 26 files changed, 553 insertions(+), 3 deletions(-) > create mode 100644 toolchain/uClibc/config-ng-1.0.6/arm > create mode 100644 toolchain/uClibc/config-ng-1.0.6/armeb > create mode 100644 toolchain/uClibc/config-ng-1.0.6/common > create mode 100644 toolchain/uClibc/config-ng-1.0.6/debug > create mode 100644 toolchain/uClibc/config-ng-1.0.6/i386 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/i686 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/m68k > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64.32 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64.64 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64.n32 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el.32 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el.64 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el.n32 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mipsel > create mode 100644 toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt > create mode 100644 toolchain/uClibc/config-ng-1.0.6/powerpc > create mode 100644 toolchain/uClibc/config-ng-1.0.6/powerpc.e500 > create mode 100644 toolchain/uClibc/config-ng-1.0.6/sparc > create mode 100644 toolchain/uClibc/config-ng-1.0.6/sparc.leon > create mode 100644 toolchain/uClibc/config-ng-1.0.6/x86_64 > > diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in > index 08ea00a..c923bc0 100644 > --- a/toolchain/uClibc/Config.in > +++ b/toolchain/uClibc/Config.in > @@ -11,6 +11,10 @@ choice > select UCLIBC_VERSION_0_9_33 > bool "uClibc 0.9.33.2" > > + config UCLIBC_USE_VERSION_NG > + select UCLIBC_VERSION_NG > + bool "uClibc-ng" > + > endchoice > > # Debug version. > diff --git a/toolchain/uClibc/Config.version b/toolchain/uClibc/Config.version > index dd302f2..b6aa471 100644 > --- a/toolchain/uClibc/Config.version > +++ b/toolchain/uClibc/Config.version > @@ -2,8 +2,12 @@ config UCLIBC_VERSION > string > depends on USE_UCLIBC > default "0.9.33.2" if UCLIBC_VERSION_0_9_33 > + default "1.0.6" if UCLIBC_VERSION_NG > default "0.9.33.2" > > config UCLIBC_VERSION_0_9_33 > default y if !TOOLCHAINOPTS && USE_UCLIBC > bool > + > +config UCLIBC_VERSION_NG > + bool > diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk > index 53a8443..026d69d 100644 > --- a/toolchain/uClibc/common.mk > +++ b/toolchain/uClibc/common.mk > @@ -7,15 +7,24 @@ > include $(TOPDIR)/rules.mk > include $(INCLUDE_DIR)/target.mk > > -PKG_NAME:=uClibc > PKG_VERSION:=$(call qstrip,$(CONFIG_UCLIBC_VERSION)) > + > +ifeq ($(CONFIG_UCLIBC_VERSION_NG),y) > +PKG_NAME:=uClibc-ng > +PKG_SOURCE_URL = http://downloads.uclibc-ng.org/releases/$(PKG_VERSION)/ > +PATCH_DIR:=$(PATH_PREFIX)/patches-ng-$(PKG_VERSION) > +CONFIG_DIR:=$(PATH_PREFIX)/config-ng-$(PKG_VERSION) > +else > +PKG_NAME:=uClibc > PKG_SOURCE_URL:=http://www.uclibc.org/downloads > -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 > -LIBC_SO_VERSION:=$(PKG_VERSION) > PATCH_DIR:=$(PATH_PREFIX)/patches-$(PKG_VERSION) > CONFIG_DIR:=$(PATH_PREFIX)/config-$(PKG_VERSION) > +endif > +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 > +LIBC_SO_VERSION:=$(PKG_VERSION) > > PKG_MD5SUM_0.9.33.2 = a338aaffc56f0f5040e6d9fa8a12eda1 > +PKG_MD5SUM_1.0.6 = dfcc780bf2c7e2e42209bbb572e035cf > PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION)) > > HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION) > diff --git a/toolchain/uClibc/config-ng-1.0.6/arm b/toolchain/uClibc/config-ng-1.0.6/arm > new file mode 100644 > index 0000000..41a60b1 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/arm > @@ -0,0 +1,9 @@ > +ARCH_ANY_ENDIAN=y > +ARCH_LITTLE_ENDIAN=y > +ARCH_WANTS_LITTLE_ENDIAN=y > +# COMPILE_IN_THUMB_MODE is not set > +TARGET_ARCH="arm" > +TARGET_arm=y > +# USE_BX is not set > +CONFIG_ARM_EABI=y > + > diff --git a/toolchain/uClibc/config-ng-1.0.6/armeb b/toolchain/uClibc/config-ng-1.0.6/armeb > new file mode 100644 > index 0000000..2e46dd6 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/armeb > @@ -0,0 +1,9 @@ > +ARCH_ANY_ENDIAN=y > +ARCH_BIG_ENDIAN=y > +ARCH_WANTS_BIG_ENDIAN=y > +# COMPILE_IN_THUMB_MODE is not set > +TARGET_ARCH="arm" > +TARGET_arm=y > +# USE_BX is not set > +CONFIG_ARM_EABI=y > + > diff --git a/toolchain/uClibc/config-ng-1.0.6/common b/toolchain/uClibc/config-ng-1.0.6/common > new file mode 100644 > index 0000000..ddaf600 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/common > @@ -0,0 +1,223 @@ > +# 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_LD_LIBRARY_PATH=y > +LDSO_LDD_SUPPORT=y > +# LDSO_NO_CLEANUP is not set > +# LDSO_PRELINK_SUPPORT is not set > +# LDSO_PRELOAD_FILE_SUPPORT is not set > +LDSO_PRELOAD_ENV_SUPPORT=y > +LDSO_RUNPATH=y > +LDSO_SAFE_RUNPATH=y > +# LDSO_RUNPATH_OF_EXECUTABLE is not set > +# LDSO_SEARCH_INTERP_PATH is not set > +# LDSO_STANDALONE_SUPPORT is not set > +# LINUXTHREADS_NEW is not set > +# LINUXTHREADS_OLD is not set > +# UCLIBC_HAS_BACKTRACE is not set > +UCLIBC_HAS_THREADS_NATIVE=y > +# MALLOC is not set > +MALLOC_GLIBC_COMPAT=y > +# MALLOC_SIMPLE is not set > +MALLOC_STANDARD=y > +MULTILIB_DIR="lib" > +PTHREADS_DEBUG_SUPPORT=y > +RUNTIME_PREFIX="/" > +# SUPPORT_LD_DEBUG is not set > +# SUPPORT_LD_DEBUG_EARLY is not set > +TARGET_SUBARCH="" > +# TARGET_alpha is not set > +# TARGET_arc is not set > +# TARGET_arm is not set > +# TARGET_avr32 is not set > +# TARGET_bfin is not set > +# TARGET_c6x 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_metag is not set > +# TARGET_microblaze is not set > +# TARGET_mips is not set > +# TARGET_nios is not set > +# TARGET_nios2 is not set > +# TARGET_powerpc is not set > +# TARGET_sh is not set > +# TARGET_sh64 is not set > +# TARGET_sparc is not set > +# TARGET_v850 is not set > +# TARGET_vax is not set > +# TARGET_x86_64 is not set > +# TARGET_xtensa is not set > +UCLIBC_BSD_SPECIFIC=y > +UCLIBC_BUILD_NOEXECSTACK=y > +# UCLIBC_BUILD_NOW is not set > +# UCLIBC_BUILD_PIE is not set > +UCLIBC_BUILD_RELRO=y > +UCLIBC_CTOR_DTOR=y > +UCLIBC_DYNAMIC_ATEXIT=y > +UCLIBC_EXTRA_CFLAGS="" > +UCLIBC_GRP_BUFFER_SIZE=256 > +UCLIBC_HAS_ADVANCED_REALTIME=y > +# UCLIBC_HAS_ARC4RANDOM is not set > +UCLIBC_HAS_BSD_ERR=y > +UCLIBC_HAS_BSD_RES_CLOSE=y > +# UCLIBC_HAS_COMPAT_RES_STATE is not set > +UCLIBC_HAS_CRYPT=y > +UCLIBC_HAS_CRYPT_IMPL=y > +UCLIBC_HAS_CTYPE_CHECKED=y > +# UCLIBC_HAS_CTYPE_ENFORCED is not set > +UCLIBC_HAS_CTYPE_SIGNED=y > +UCLIBC_HAS_CTYPE_TABLES=y > +# UCLIBC_HAS_CTYPE_UNSAFE is not set > +UCLIBC_HAS_EPOLL=y > +UCLIBC_HAS_ERRNO_MESSAGES=y > +# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set > +# UCLIBC_HAS_FENV is not set > +UCLIBC_HAS_FLOATS=y > +UCLIBC_HAS_FNMATCH=y > +UCLIBC_HAS_FNMATCH_OLD=y > +# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set > +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y > +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set > +# UCLIBC_HAS_FPU is not set > +UCLIBC_HAS_FTS=y > +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_GLIBC_DIGIT_GROUPING is not set > +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_BUILD_ALL_LOCALE is not set > +# UCLIBC_BUILD_MINIMAL_LOCALE is not set > +# UCLIBC_PREGENERATED_LOCALE_DATA is not set > +UCLIBC_HAS_LONG_DOUBLE_MATH=y > +UCLIBC_HAS_NETWORK_SUPPORT=y > +UCLIBC_HAS_NFTW=y > +# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set > +# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set > +UCLIBC_HAS_PRINTF_M_SPEC=y > +# UCLIBC_HAS_PROFILING is not set > +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y > +UCLIBC_HAS_PTY=y > +UCLIBC_HAS_REALTIME=y > +# UCLIBC_HAS_REENTRANT_RPC is not set > +UCLIBC_HAS_REGEX=y > +UCLIBC_HAS_REGEX_OLD=y > +UCLIBC_HAS_RESOLVER_SUPPORT=y > +# UCLIBC_HAS_RPC is not set > +UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y > +# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set > +# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set > +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_SSP_COMPAT is not set > +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y > +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set > +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set > +# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set > +UCLIBC_HAS_STDIO_BUFSIZ_4096=y > +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set > +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set > +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set > +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set > +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set > +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y > +UCLIBC_HAS_STDIO_GETC_MACRO=y > +UCLIBC_HAS_STDIO_PUTC_MACRO=y > +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set > +UCLIBC_HAS_STRING_ARCH_OPT=y > +UCLIBC_HAS_STRING_GENERIC_OPT=y > +# UCLIBC_HAS_STUBS is not set > +UCLIBC_HAS_SYSLOG=y > +# UCLIBC_HAS_SYS_ERRLIST is not set > +# UCLIBC_HAS_SYS_SIGLIST is not set > +UCLIBC_HAS_THREADS=y > +UCLIBC_HAS_TM_EXTENSIONS=y > +UCLIBC_HAS_TZ_CACHING=y > +UCLIBC_HAS_TZ_FILE=y > +UCLIBC_HAS_TZ_FILE_READ_MANY=y > +UCLIBC_HAS_UTMPX=y > +UCLIBC_HAS_UTMP=y > +UCLIBC_HAS_WCHAR=y > +UCLIBC_HAS_WORDEXP=y > +# UCLIBC_HAS_XATTR is not set > +# UCLIBC_HAS_XLOCALE is not set > +UCLIBC_HAS___PROGNAME=y > +# UCLIBC_LINUX_MODULE_24 is not set > +UCLIBC_LINUX_MODULE_26=y > +UCLIBC_LINUX_SPECIFIC=y > +# UCLIBC_MALLOC_DEBUGGING is not set > +# UCLIBC_MJN3_ONLY is not set > +# UCLIBC_NTP_LEGACY is not set > +# USE_OLD_VFPRINTF is not set > +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 > +UCLIBC_PWD_BUFFER_SIZE=256 > +# UCLIBC_STATIC_LDCONFIG is not set > +# UCLIBC_STRICT_HEADERS is not set > +UCLIBC_SUPPORT_AI_ADDRCONFIG=y > +UCLIBC_SUSV3_LEGACY=y > +UCLIBC_SUSV3_LEGACY_MACROS=y > +UCLIBC_SUSV4_LEGACY=y > +# UCLIBC_SV4_DEPRECATED is not set > +UCLIBC_TZ_FILE_PATH="/etc/TZ" > +# UCLIBC_FALLBACK_TO_ETC_LOCALTIME is not set > +UCLIBC_USE_NETLINK=y > +# UNIX98PTY_ONLY is not set > +USE_BX=y > +WARNINGS="-Wall" > +# UCLIBC_HAS_OBSTACK is not set > +# UCLIBC_SUSV2_LEGACY is not set > +# UCLIBC_HAS_CONTEXT_FUNCS is not set > +UCLIBC_HAS_GETOPT_LONG=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/debug b/toolchain/uClibc/config-ng-1.0.6/debug > new file mode 100644 > index 0000000..b366e66 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/debug > @@ -0,0 +1,6 @@ > +DODEBUG=y > +DODEBUG_PT=y > +PTHREADS_DEBUG_SUPPORT=y > +SUPPORT_LD_DEBUG=y > +SUPPORT_LD_DEBUG_EARLY=y > +UCLIBC_MALLOC_DEBUGGING=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/i386 b/toolchain/uClibc/config-ng-1.0.6/i386 > new file mode 100644 > index 0000000..5ef264c > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/i386 > @@ -0,0 +1,21 @@ > +ARCH_LITTLE_ENDIAN=y > +# CONFIG_386 is not set > +CONFIG_486=y > +# CONFIG_586 is not set > +# CONFIG_586MMX is not set > +# CONFIG_686 is not set > +# CONFIG_CRUSOE is not set > +# CONFIG_CYRIXIII is not set > +# CONFIG_ELAN is not set > +# CONFIG_GENERIC_386 is not set > +# CONFIG_K6 is not set > +# CONFIG_K7 is not set > +# CONFIG_NEHEMIAH is not set > +# CONFIG_PENTIUM4 is not set > +# CONFIG_PENTIUMII is not set > +# CONFIG_PENTIUMIII is not set > +# CONFIG_WINCHIP2 is not set > +# CONFIG_WINCHIPC6 is not set > +TARGET_ARCH="i386" > +TARGET_i386=y > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/i686 b/toolchain/uClibc/config-ng-1.0.6/i686 > new file mode 100644 > index 0000000..ba615f6 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/i686 > @@ -0,0 +1,21 @@ > +ARCH_LITTLE_ENDIAN=y > +# CONFIG_386 is not set > +# CONFIG_486 is not set > +# CONFIG_586 is not set > +# CONFIG_586MMX is not set > +CONFIG_686=y > +# CONFIG_CRUSOE is not set > +# CONFIG_CYRIXIII is not set > +# CONFIG_ELAN is not set > +# CONFIG_GENERIC_386 is not set > +# CONFIG_K6 is not set > +# CONFIG_K7 is not set > +# CONFIG_NEHEMIAH is not set > +# CONFIG_PENTIUM4 is not set > +# CONFIG_PENTIUMII is not set > +# CONFIG_PENTIUMIII is not set > +# CONFIG_WINCHIP2 is not set > +# CONFIG_WINCHIPC6 is not set > +TARGET_ARCH="i386" > +TARGET_i386=y > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/m68k b/toolchain/uClibc/config-ng-1.0.6/m68k > new file mode 100644 > index 0000000..14ce5ae > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/m68k > @@ -0,0 +1,6 @@ > +ARCH_BIG_ENDIAN=y > +LINUXTHREADS_OLD=y > +TARGET_ARCH="m68k" > +TARGET_SUBARCH="" > +TARGET_m68k=y > +# UCLIBC_HAS_THREADS_NATIVE is not set > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips b/toolchain/uClibc/config-ng-1.0.6/mips > new file mode 100644 > index 0000000..8cec22f > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips > @@ -0,0 +1,18 @@ > +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_ISA_MIPS64R2 is not set > +# CONFIG_MIPS_N32_ABI is not set > +# CONFIG_MIPS_N64_ABI is not set > +CONFIG_MIPS_O32_ABI=y > +TARGET_ARCH="mips" > +TARGET_mips=y > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64 b/toolchain/uClibc/config-ng-1.0.6/mips64 > new file mode 100644 > index 0000000..566d87a > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64 > @@ -0,0 +1,18 @@ > +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_ISA_MIPS64R2 is not set > +# 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 > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64.32 b/toolchain/uClibc/config-ng-1.0.6/mips64.32 > new file mode 100644 > index 0000000..b7ea8f4 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64.32 > @@ -0,0 +1,19 @@ > +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_ISA_MIPS64R2 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 > +TARGET_SUBARCH="mips64" > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64.64 b/toolchain/uClibc/config-ng-1.0.6/mips64.64 > new file mode 100644 > index 0000000..2a0b755 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64.64 > @@ -0,0 +1,19 @@ > +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_ISA_MIPS64R2 is not set > +# 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 > +TARGET_SUBARCH="mips64" > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64.n32 b/toolchain/uClibc/config-ng-1.0.6/mips64.n32 > new file mode 100644 > index 0000000..f8def58 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64.n32 > @@ -0,0 +1,19 @@ > +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_ISA_MIPS64R2 is not set > +CONFIG_MIPS_N32_ABI=y > +# CONFIG_MIPS_N64_ABI is not set > +# CONFIG_MIPS_O32_ABI is not set > +TARGET_ARCH="mips" > +TARGET_mips=y > +TARGET_SUBARCH="mips64" > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el b/toolchain/uClibc/config-ng-1.0.6/mips64el > new file mode 100644 > index 0000000..5358078 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el > @@ -0,0 +1,18 @@ > +ARCH_ANY_ENDIAN=y > +ARCH_CFLAGS="-mno-split-addresses" > +ARCH_LITTLE_ENDIAN=y > +ARCH_WANTS_LITTLE_ENDIAN=y > +# CONFIG_MIPS_ISA_1 is not set > +# CONFIG_MIPS_ISA_2 is not set > +# CONFIG_MIPS_ISA_3 is not set > +# CONFIG_MIPS_ISA_4 is not set > +# CONFIG_MIPS_ISA_MIPS32 is not set > +# CONFIG_MIPS_ISA_MIPS32R2 is not set > +CONFIG_MIPS_ISA_MIPS64=y > +# CONFIG_MIPS_ISA_MIPS64R2 is not set > +# 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 > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el.32 b/toolchain/uClibc/config-ng-1.0.6/mips64el.32 > new file mode 100644 > index 0000000..a10840b > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el.32 > @@ -0,0 +1,19 @@ > +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_ISA_MIPS64R2 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 > +TARGET_SUBARCH="mips64" > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el.64 b/toolchain/uClibc/config-ng-1.0.6/mips64el.64 > new file mode 100644 > index 0000000..8b90a54 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el.64 > @@ -0,0 +1,19 @@ > +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_ISA_MIPS64R2 is not set > +# 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 > +TARGET_SUBARCH="mips64" > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el.n32 b/toolchain/uClibc/config-ng-1.0.6/mips64el.n32 > new file mode 100644 > index 0000000..4ac4d06 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el.n32 > @@ -0,0 +1,19 @@ > +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_ISA_MIPS64R2 is not set > +CONFIG_MIPS_N32_ABI=y > +# CONFIG_MIPS_N64_ABI is not set > +# CONFIG_MIPS_O32_ABI is not set > +TARGET_ARCH="mips" > +TARGET_mips=y > +TARGET_SUBARCH="mips64" > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mipsel b/toolchain/uClibc/config-ng-1.0.6/mipsel > new file mode 100644 > index 0000000..d9dedbb > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mipsel > @@ -0,0 +1,18 @@ > +ARCH_ANY_ENDIAN=y > +ARCH_CFLAGS="-mno-split-addresses" > +ARCH_LITTLE_ENDIAN=y > +ARCH_WANTS_LITTLE_ENDIAN=y > +# CONFIG_MIPS_ISA_1 is not set > +# CONFIG_MIPS_ISA_2 is not set > +# CONFIG_MIPS_ISA_3 is not set > +# CONFIG_MIPS_ISA_4 is not set > +CONFIG_MIPS_ISA_MIPS32=y > +# CONFIG_MIPS_ISA_MIPS32R2 is not set > +# CONFIG_MIPS_ISA_MIPS64 is not set > +# CONFIG_MIPS_ISA_MIPS64R2 is not set > +# CONFIG_MIPS_N32_ABI is not set > +# CONFIG_MIPS_N64_ABI is not set > +CONFIG_MIPS_O32_ABI=y > +TARGET_ARCH="mips" > +TARGET_mips=y > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt b/toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt > new file mode 100644 > index 0000000..1d42a70 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt > @@ -0,0 +1,18 @@ > +ARCH_ANY_ENDIAN=y > +ARCH_CFLAGS="-mno-split-addresses" > +ARCH_LITTLE_ENDIAN=y > +ARCH_WANTS_LITTLE_ENDIAN=y > +# CONFIG_MIPS_ISA_1 is not set > +# CONFIG_MIPS_ISA_2 is not set > +CONFIG_MIPS_ISA_3=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_ISA_MIPS64R2 is not set > +# CONFIG_MIPS_N32_ABI is not set > +# CONFIG_MIPS_N64_ABI is not set > +CONFIG_MIPS_O32_ABI=y > +TARGET_ARCH="mips" > +TARGET_mips=y > +UCLIBC_HAS_FPU=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/powerpc b/toolchain/uClibc/config-ng-1.0.6/powerpc > new file mode 100644 > index 0000000..5b1292d > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/powerpc > @@ -0,0 +1,6 @@ > +ARCH_BIG_ENDIAN=y > +CONFIG_CLASSIC=y > +# CONFIG_E500 is not set > +TARGET_ARCH="powerpc" > +TARGET_SUBARCH="classic" > +TARGET_powerpc=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/powerpc.e500 b/toolchain/uClibc/config-ng-1.0.6/powerpc.e500 > new file mode 100644 > index 0000000..a835c3d > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/powerpc.e500 > @@ -0,0 +1,6 @@ > +ARCH_BIG_ENDIAN=y > +# CONFIG_CLASSIC is not set > +CONFIG_E500=y > +TARGET_ARCH="powerpc" > +TARGET_SUBARCH="classic" > +TARGET_powerpc=y > diff --git a/toolchain/uClibc/config-ng-1.0.6/sparc b/toolchain/uClibc/config-ng-1.0.6/sparc > new file mode 100644 > index 0000000..e1596c4 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/sparc > @@ -0,0 +1,8 @@ > +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 > diff --git a/toolchain/uClibc/config-ng-1.0.6/sparc.leon b/toolchain/uClibc/config-ng-1.0.6/sparc.leon > new file mode 100644 > index 0000000..eb725ac > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/sparc.leon > @@ -0,0 +1,8 @@ > +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 > diff --git a/toolchain/uClibc/config-ng-1.0.6/x86_64 b/toolchain/uClibc/config-ng-1.0.6/x86_64 > new file mode 100644 > index 0000000..b6dc2c2 > --- /dev/null > +++ b/toolchain/uClibc/config-ng-1.0.6/x86_64 > @@ -0,0 +1,6 @@ > +ARCH_LITTLE_ENDIAN=y > +# LINUXTHREADS_NEW is not set > +TARGET_ARCH="x86_64" > +TARGET_x86_64=y > +UCLIBC_BSD_SPECIFIC=y > +UCLIBC_HAS_FPU=y >
Hi John, On Wed, 2015-08-26 at 20:20 +0200, John Crispin wrote: > Hi, > > On 26/08/2015 20:11, Alexey Brodkin wrote: > > uClibc-ng is a spin-off of original uClibc, see http://www.uclibc-ng.org/ > > > > We try to regularly add changes from uClibc to uClibc-ng. > > We even sent patches and bug reports to the uClibc mailing list. > > The config file is compatible between uClibc-ng 1.0 and uClibc git master. > > This might change in the future. > > > > Our main goal is to provide regularly a stable and tested release > > to make embedded system developers happy. > > > > The main advantage of uClibc-ng over olde good uClibc is regular releases > > so there's no need to keep tons of patches on top of years old > > 0.9.33.2 > > > > why do you not use musl ? it is actively support rather than being > hooked on life support. The point is I'm about to submit patch with support of new architecture (ARC) in OpenWRT. And unfortunately the only libc we have now is uClibc. And since "original" uClibc lack recent releases (where ARC support might exist as we're in uclibc's master branch for quite some time already) I went forward with uClibc-ng which sees releases much more often and in released tarballs we already have support of ARC. So I understand that other architectures may not benefit a lot from newer uClibc but for us (ARC) there's no other way. Hope that makes sense. -Alexey
Hi all, I was wondering why OpenWRT switched to musl -- is it purely because uclibc hasn't actually maintained their code properly? One of the things I have noticed since the CC trunk builds I did with kernel 3.18.11 + uclibc is that the image sizes have ballooned out by a fair bit. For example, a build on trunk r45705 which uses uclibc and kernel 3.18.11 would allow for most features to be included in a build e.g. openvpn, luci + ssl support, more connecting protocols than just pppoe and so on with a router sporting 8MB of flash. Now with recent trunk builds, with musl and kernel 4.1.x, I've had to cut features considerably just to make it fit. Just adding openvpn with openssl support means that an image prior that built at 7MB would balloon out to 8MB which would mean that the image would not be produced as it is too big. I've yet to do a separate build with latest trunk and uclibc but certainly something has caused image build sizes to grow quite a bit recently, though in testing I've done at least, it hasn't impacted on router performance for now. Cheers Adam On 27/08/15 04:28, Alexey Brodkin wrote: > Hi John, > > On Wed, 2015-08-26 at 20:20 +0200, John Crispin wrote: >> Hi, >> >> On 26/08/2015 20:11, Alexey Brodkin wrote: >>> uClibc-ng is a spin-off of original uClibc, see http://www.uclibc-ng.org/ >>> >>> We try to regularly add changes from uClibc to uClibc-ng. >>> We even sent patches and bug reports to the uClibc mailing list. >>> The config file is compatible between uClibc-ng 1.0 and uClibc git master. >>> This might change in the future. >>> >>> Our main goal is to provide regularly a stable and tested release >>> to make embedded system developers happy. >>> >>> The main advantage of uClibc-ng over olde good uClibc is regular releases >>> so there's no need to keep tons of patches on top of years old >>> 0.9.33.2 >>> >> why do you not use musl ? it is actively support rather than being >> hooked on life support. > The point is I'm about to submit patch with support of new architecture (ARC) > in OpenWRT. And unfortunately the only libc we have now is uClibc. > > And since "original" uClibc lack recent releases (where ARC support might exist > as we're in uclibc's master branch for quite some time already) I went forward > with uClibc-ng which sees releases much more often and in released tarballs > we already have support of ARC. > > So I understand that other architectures may not benefit a lot from newer > uClibc but for us (ARC) there's no other way. > > Hope that makes sense. > > -Alexey > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
On 2015-08-27 01:48, Adam Kuklycz wrote: > Hi all, > > I was wondering why OpenWRT switched to musl -- is it purely because > uclibc hasn't actually maintained their code properly? That's only part of the reason. Aside from the maintainenance, the code quality of uClibc is also poor compared to musl. musl also has better runtime performance and uses less RAM. > One of the things I have noticed since the CC trunk builds I did with > kernel 3.18.11 + uclibc is that the image sizes have ballooned out by a > fair bit. > > For example, a build on trunk r45705 which uses uclibc and kernel > 3.18.11 would allow for most features to be included in a build e.g. > openvpn, luci + ssl support, more connecting protocols than just pppoe > and so on with a router sporting 8MB of flash. > > Now with recent trunk builds, with musl and kernel 4.1.x, I've had to > cut features considerably just to make it fit. Just adding openvpn with > openssl support means that an image prior that built at 7MB would > balloon out to 8MB which would mean that the image would not be produced > as it is too big. Last time I compared musl vs uClibc images, the size difference was neglegible. I'd say it's more likely that the switch to Linux 4.1 caused the size increase (the kernel does get more bloated with each new release). - Felix
Hi Felix Thanks for clarifying. I've also noticed what appears to be a memory leak in my latest build as well which I am working on drilling down now. After a couple days of uptime the device is out of memory. It's much more pronounced when doing downloads with many connections simultaneously. So all that said, yes I do agree there is always more bloat with each kernel update sadly. I'm busy now doing builds with both uclibc and musl and will be interested to see the size comparisons. Will take several hours so will report back in the morning (Australian time) Cheers On 27/08/15 19:33, Felix Fietkau wrote: > On 2015-08-27 01:48, Adam Kuklycz wrote: >> Hi all, >> >> I was wondering why OpenWRT switched to musl -- is it purely because >> uclibc hasn't actually maintained their code properly? > That's only part of the reason. Aside from the maintainenance, the code > quality of uClibc is also poor compared to musl. > musl also has better runtime performance and uses less RAM. > >> One of the things I have noticed since the CC trunk builds I did with >> kernel 3.18.11 + uclibc is that the image sizes have ballooned out by a >> fair bit. >> >> For example, a build on trunk r45705 which uses uclibc and kernel >> 3.18.11 would allow for most features to be included in a build e.g. >> openvpn, luci + ssl support, more connecting protocols than just pppoe >> and so on with a router sporting 8MB of flash. >> >> Now with recent trunk builds, with musl and kernel 4.1.x, I've had to >> cut features considerably just to make it fit. Just adding openvpn with >> openssl support means that an image prior that built at 7MB would >> balloon out to 8MB which would mean that the image would not be produced >> as it is too big. > Last time I compared musl vs uClibc images, the size difference was > neglegible. I'd say it's more likely that the switch to Linux 4.1 caused > the size increase (the kernel does get more bloated with each new release). > > - Felix
Just following up on the suspected memory leak, and image build sizes. With the memory leak, it's not a memory leak as such rather than conntrackd filling things up with a log file. After 22 hours of running: root@gateway-openwrt:/tmp/log# ls -l -rw------- 1 root root 30080612 Aug 28 08:44 conntrackd-stats.log drwxr-xr-x 2 root root 60 Aug 27 10:37 ddns -rw-r--r-- 1 root root 0 Aug 25 13:06 lastlog -rw-r--r-- 1 root root 0 Aug 27 10:36 log.nmbd -rw-r--r-- 1 root root 0 Aug 27 10:36 log.smbd -rw-r--r-- 1 root root 0 Aug 25 13:06 wtmp Deleting the log file and then shutting down conntrackd cleared the used space. I might look at omitting conntrackd from the builds in future. Now for the build sizes. musl does produce a larger image. Below is the result of a configuration file I have used for trunk builds with releases 457xx and have reused for a build on r46734 the only changes being I selected either uclibc or musl for the toolchain, otherwise the config file used is identical. MUSL: -rw-r--r-- 1 adamk adamk 8126468 Aug 27 23:15 openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin UCLIBC: -rw-r--r-- 1 adamk adamk 7864324 Aug 27 14:19 openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin Now, for stability sakes I'll want to reduce the image size anyway, with the bloat from latest kernels blowing things out by a good 300KB as well, but it looks like using musl adds around 300KB too. Have the devs determined that perhaps the increased performance of using musl outweighs the hit on image sizes? Cheers Adam On 27/08/15 22:17, Adam Kuklycz wrote: > Hi Felix > > Thanks for clarifying. I've also noticed what appears to be a memory > leak in my latest build as well which I am working on drilling down > now. After a couple days of uptime the device is out of memory. It's > much more pronounced when doing downloads with many connections > simultaneously. > > So all that said, yes I do agree there is always more bloat with each > kernel update sadly. I'm busy now doing builds with both uclibc and > musl and will be interested to see the size comparisons. Will take > several hours so will report back in the morning (Australian time) > > Cheers > > > On 27/08/15 19:33, Felix Fietkau wrote: >> On 2015-08-27 01:48, Adam Kuklycz wrote: >>> Hi all, >>> >>> I was wondering why OpenWRT switched to musl -- is it purely because >>> uclibc hasn't actually maintained their code properly? >> That's only part of the reason. Aside from the maintainenance, the code >> quality of uClibc is also poor compared to musl. >> musl also has better runtime performance and uses less RAM. >> >>> One of the things I have noticed since the CC trunk builds I did with >>> kernel 3.18.11 + uclibc is that the image sizes have ballooned out by a >>> fair bit. >>> >>> For example, a build on trunk r45705 which uses uclibc and kernel >>> 3.18.11 would allow for most features to be included in a build e.g. >>> openvpn, luci + ssl support, more connecting protocols than just pppoe >>> and so on with a router sporting 8MB of flash. >>> >>> Now with recent trunk builds, with musl and kernel 4.1.x, I've had to >>> cut features considerably just to make it fit. Just adding openvpn >>> with >>> openssl support means that an image prior that built at 7MB would >>> balloon out to 8MB which would mean that the image would not be >>> produced >>> as it is too big. >> Last time I compared musl vs uClibc images, the size difference was >> neglegible. I'd say it's more likely that the switch to Linux 4.1 caused >> the size increase (the kernel does get more bloated with each new >> release). >> >> - Felix > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
On 2015-08-28 01:03, Adam Kuklycz wrote: > Just following up on the suspected memory leak, and image build sizes. > > With the memory leak, it's not a memory leak as such rather than > conntrackd filling things up with a log file. > > After 22 hours of running: > > root@gateway-openwrt:/tmp/log# ls -l > -rw------- 1 root root 30080612 Aug 28 08:44 > conntrackd-stats.log > drwxr-xr-x 2 root root 60 Aug 27 10:37 ddns > -rw-r--r-- 1 root root 0 Aug 25 13:06 lastlog > -rw-r--r-- 1 root root 0 Aug 27 10:36 log.nmbd > -rw-r--r-- 1 root root 0 Aug 27 10:36 log.smbd > -rw-r--r-- 1 root root 0 Aug 25 13:06 wtmp > > Deleting the log file and then shutting down conntrackd cleared the used > space. I might look at omitting conntrackd from the builds in future. > > Now for the build sizes. > > musl does produce a larger image. Below is the result of a > configuration file I have used for trunk builds with releases 457xx and > have reused for a build on r46734 the only changes being I selected > either uclibc or musl for the toolchain, otherwise the config file used > is identical. > > MUSL: > > -rw-r--r-- 1 adamk adamk 8126468 Aug 27 23:15 > openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin > > UCLIBC: > > -rw-r--r-- 1 adamk adamk 7864324 Aug 27 14:19 > openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin > > > Now, for stability sakes I'll want to reduce the image size anyway, with > the bloat from latest kernels blowing things out by a good 300KB as > well, but it looks like using musl adds around 300KB too. > > Have the devs determined that perhaps the increased performance of using > musl outweighs the hit on image sizes? Images are padded, often to 256 KB (which is the size increase of your image). This means that it might be that musl just slightly increases the image size enough to push it to the next 256KB boundary. Comparing the size of build_dir/target-mips_34kc_musl-1.1.10/linux-ar71xx_generic/root.squashfs-raw between uclibc and musl should be more accurate. - Felix
Fair enough. MUSL: -rw-r--r-- 1 adamk adamk 6700676 Aug 27 23:15 root.squashfs UCLIBC: -rw-r--r-- 1 adamk adamk 6601764 Aug 27 14:19 root.squashfs So about 100KB difference. Running Ubuntu 14.04.2 LTS x64 here. I guess what I am looking at is the final product, which is around 300KB bigger in size. Regardless, I'm going to need to reduce features for routers with 8MB of flash, as kernel bloat also adds around another 300KB. On 28/08/15 09:11, Felix Fietkau wrote: > On 2015-08-28 01:03, Adam Kuklycz wrote: >> Just following up on the suspected memory leak, and image build sizes. >> >> With the memory leak, it's not a memory leak as such rather than >> conntrackd filling things up with a log file. >> >> After 22 hours of running: >> >> root@gateway-openwrt:/tmp/log# ls -l >> -rw------- 1 root root 30080612 Aug 28 08:44 >> conntrackd-stats.log >> drwxr-xr-x 2 root root 60 Aug 27 10:37 ddns >> -rw-r--r-- 1 root root 0 Aug 25 13:06 lastlog >> -rw-r--r-- 1 root root 0 Aug 27 10:36 log.nmbd >> -rw-r--r-- 1 root root 0 Aug 27 10:36 log.smbd >> -rw-r--r-- 1 root root 0 Aug 25 13:06 wtmp >> >> Deleting the log file and then shutting down conntrackd cleared the used >> space. I might look at omitting conntrackd from the builds in future. >> >> Now for the build sizes. >> >> musl does produce a larger image. Below is the result of a >> configuration file I have used for trunk builds with releases 457xx and >> have reused for a build on r46734 the only changes being I selected >> either uclibc or musl for the toolchain, otherwise the config file used >> is identical. >> >> MUSL: >> >> -rw-r--r-- 1 adamk adamk 8126468 Aug 27 23:15 >> openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin >> >> UCLIBC: >> >> -rw-r--r-- 1 adamk adamk 7864324 Aug 27 14:19 >> openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin >> >> >> Now, for stability sakes I'll want to reduce the image size anyway, with >> the bloat from latest kernels blowing things out by a good 300KB as >> well, but it looks like using musl adds around 300KB too. >> >> Have the devs determined that perhaps the increased performance of using >> musl outweighs the hit on image sizes? > Images are padded, often to 256 KB (which is the size increase of your > image). This means that it might be that musl just slightly increases > the image size enough to push it to the next 256KB boundary. > > Comparing the size of > build_dir/target-mips_34kc_musl-1.1.10/linux-ar71xx_generic/root.squashfs-raw > between uclibc and musl should be more accurate. > > - Felix
On 2015-08-28 01:34, Adam Kuklycz wrote: > Fair enough. > > MUSL: > -rw-r--r-- 1 adamk adamk 6700676 Aug 27 23:15 root.squashfs > > UCLIBC: > -rw-r--r-- 1 adamk adamk 6601764 Aug 27 14:19 root.squashfs > > So about 100KB difference. > > Running Ubuntu 14.04.2 LTS x64 here. > > I guess what I am looking at is the final product, which is around 300KB > bigger in size. Regardless, I'm going to need to reduce features for > routers with 8MB of flash, as kernel bloat also adds around another 300KB. Can you please post the output of running ./scripts/diffconfig.sh? Thanks, - Felix
Hi Felix Here is the output you requested. Let me know if there's anything else you'd like. adamk@Precision-M4500:~/ChaosCalmer-r46734$ ./scripts/diffconfig.sh CONFIG_TARGET_ar71xx=y CONFIG_TARGET_ar71xx_generic=y CONFIG_TARGET_ar71xx_generic_Default=y CONFIG_DEVEL=y CONFIG_TOOLCHAINOPTS=y CONFIG_IB=y CONFIG_IB_STANDALONE=y CONFIG_MAKE_TOOLCHAIN=y CONFIG_OPENSSL_WITH_EC=y CONFIG_OPENVPN_openssl_ENABLE_DEF_AUTH=y CONFIG_OPENVPN_openssl_ENABLE_FRAGMENT=y CONFIG_OPENVPN_openssl_ENABLE_HTTP=y CONFIG_OPENVPN_openssl_ENABLE_LZO=y CONFIG_OPENVPN_openssl_ENABLE_MULTIHOME=y CONFIG_OPENVPN_openssl_ENABLE_PF=y CONFIG_OPENVPN_openssl_ENABLE_PORT_SHARE=y CONFIG_OPENVPN_openssl_ENABLE_SERVER=y CONFIG_OPENVPN_openssl_ENABLE_SMALL=y CONFIG_OPENVPN_openssl_ENABLE_SOCKS=y CONFIG_PACKAGE_6in4=y CONFIG_PACKAGE_6rd=y CONFIG_PACKAGE_SAMBA_MAX_DEBUG_LEVEL=-1 CONFIG_PACKAGE_aiccu=y CONFIG_PACKAGE_arptables=y CONFIG_PACKAGE_block-mount=y CONFIG_PACKAGE_ca-certificates=y CONFIG_PACKAGE_chat=y CONFIG_PACKAGE_comgt=y CONFIG_PACKAGE_comgt-directip=y CONFIG_PACKAGE_comgt-ncm=y CONFIG_PACKAGE_conntrack-tools=y CONFIG_PACKAGE_ddns-scripts=y CONFIG_PACKAGE_gre=y CONFIG_PACKAGE_grev4=y CONFIG_PACKAGE_grev6=y CONFIG_PACKAGE_hd-idle=y CONFIG_PACKAGE_hostapd-utils=y CONFIG_PACKAGE_iftop=y CONFIG_PACKAGE_ip=y CONFIG_PACKAGE_ipset=y CONFIG_PACKAGE_iptables-mod-account=y CONFIG_PACKAGE_iptables-mod-conntrack-extra=y CONFIG_PACKAGE_iptables-mod-geoip=y CONFIG_PACKAGE_iptables-mod-ipopt=y CONFIG_PACKAGE_iptables-mod-iprange=y CONFIG_PACKAGE_iptables-mod-nat-extra=y CONFIG_PACKAGE_iptaccount=y CONFIG_PACKAGE_iputils-arping=y CONFIG_PACKAGE_iputils-ping=y CONFIG_PACKAGE_iputils-ping6=y CONFIG_PACKAGE_iputils-tracepath=y CONFIG_PACKAGE_iputils-tracepath6=y CONFIG_PACKAGE_iputils-traceroute6=y CONFIG_PACKAGE_kmod-arptables=y CONFIG_PACKAGE_kmod-fs-msdos=y CONFIG_PACKAGE_kmod-fs-ntfs=y CONFIG_PACKAGE_kmod-fs-vfat=y CONFIG_PACKAGE_kmod-fuse=y CONFIG_PACKAGE_kmod-gre=y CONFIG_PACKAGE_kmod-ifb=y CONFIG_PACKAGE_kmod-ipt-account=y CONFIG_PACKAGE_kmod-ipt-compat-xtables=y CONFIG_PACKAGE_kmod-ipt-conntrack-extra=y CONFIG_PACKAGE_kmod-ipt-geoip=y CONFIG_PACKAGE_kmod-ipt-ipopt=y CONFIG_PACKAGE_kmod-ipt-iprange=y CONFIG_PACKAGE_kmod-ipt-ipset=y CONFIG_PACKAGE_kmod-ipt-nat-extra=y CONFIG_PACKAGE_kmod-iptunnel=y CONFIG_PACKAGE_kmod-iptunnel4=y CONFIG_PACKAGE_kmod-mii=y CONFIG_PACKAGE_kmod-nf-conntrack-netlink=y CONFIG_PACKAGE_kmod-nfnetlink=y CONFIG_PACKAGE_kmod-nls-cp437=y CONFIG_PACKAGE_kmod-nls-iso8859-1=y CONFIG_PACKAGE_kmod-sched=y CONFIG_PACKAGE_kmod-sched-connmark=y CONFIG_PACKAGE_kmod-sched-core=y CONFIG_PACKAGE_kmod-scsi-core=y CONFIG_PACKAGE_kmod-sit=y CONFIG_PACKAGE_kmod-tun=y CONFIG_PACKAGE_kmod-usb-net=y CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=y CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=y CONFIG_PACKAGE_kmod-usb-net-huawei-cdc-ncm=y CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=y CONFIG_PACKAGE_kmod-usb-net-sierrawireless=y CONFIG_PACKAGE_kmod-usb-printer=y CONFIG_PACKAGE_kmod-usb-serial=y CONFIG_PACKAGE_kmod-usb-serial-option=y CONFIG_PACKAGE_kmod-usb-serial-sierrawireless=y CONFIG_PACKAGE_kmod-usb-serial-wwan=y CONFIG_PACKAGE_kmod-usb-storage=y CONFIG_PACKAGE_kmod-usb-wdm=y CONFIG_PACKAGE_libiwinfo-lua=y CONFIG_PACKAGE_liblua=y CONFIG_PACKAGE_liblzo=y CONFIG_PACKAGE_libmnl=y CONFIG_PACKAGE_libncurses=y CONFIG_PACKAGE_libnet-1.2.x=y CONFIG_PACKAGE_libnetfilter-conntrack=y CONFIG_PACKAGE_libnetfilter-cthelper=y CONFIG_PACKAGE_libnetfilter-cttimeout=y CONFIG_PACKAGE_libnetfilter-queue=y CONFIG_PACKAGE_libnetsnmp=y CONFIG_PACKAGE_libnfnetlink=y CONFIG_PACKAGE_libopenssl=y CONFIG_PACKAGE_libpcap=y CONFIG_PACKAGE_libpolarssl=y CONFIG_PACKAGE_libpthread=y CONFIG_PACKAGE_librt=y CONFIG_PACKAGE_libsysfs=y CONFIG_PACKAGE_libubus-lua=y CONFIG_PACKAGE_libuci-lua=y CONFIG_PACKAGE_libusb-1.0=y CONFIG_PACKAGE_libustream-polarssl=y CONFIG_PACKAGE_lua=y CONFIG_PACKAGE_luci=y CONFIG_PACKAGE_luci-app-commands=y CONFIG_PACKAGE_luci-app-ddns=y CONFIG_PACKAGE_luci-app-diag-core=y CONFIG_PACKAGE_luci-app-diag-devinfo=y CONFIG_PACKAGE_luci-app-firewall=y CONFIG_PACKAGE_luci-app-hd-idle=y CONFIG_PACKAGE_luci-app-mwan3=y CONFIG_PACKAGE_luci-app-ntpc=y CONFIG_PACKAGE_luci-app-openvpn=y CONFIG_PACKAGE_luci-app-p910nd=y CONFIG_PACKAGE_luci-app-qos=y CONFIG_PACKAGE_luci-app-radvd=y CONFIG_PACKAGE_luci-app-samba=y CONFIG_PACKAGE_luci-app-sqm=y CONFIG_PACKAGE_luci-app-upnp=y CONFIG_PACKAGE_luci-base=y CONFIG_PACKAGE_luci-lib-ip=y CONFIG_PACKAGE_luci-lib-nixio=y CONFIG_PACKAGE_luci-mod-admin-full=y CONFIG_PACKAGE_luci-proto-3g=y CONFIG_PACKAGE_luci-proto-ipv6=y CONFIG_PACKAGE_luci-proto-ppp=y CONFIG_PACKAGE_luci-ssl=y CONFIG_PACKAGE_luci-theme-bootstrap=y CONFIG_PACKAGE_miniupnpd=y CONFIG_PACKAGE_mtr=y CONFIG_PACKAGE_mwan3=y CONFIG_PACKAGE_netdiscover=y CONFIG_PACKAGE_ntfs-3g=y CONFIG_PACKAGE_ntpclient=y CONFIG_PACKAGE_openssl-util=y CONFIG_PACKAGE_openvpn-easy-rsa=y CONFIG_PACKAGE_openvpn-openssl=y CONFIG_PACKAGE_p910nd=y CONFIG_PACKAGE_px5g=y CONFIG_PACKAGE_qos-scripts=y CONFIG_PACKAGE_rpcd=y CONFIG_PACKAGE_samba36-server=y CONFIG_PACKAGE_snmpd=y CONFIG_PACKAGE_sqm-scripts=y CONFIG_PACKAGE_tc=y CONFIG_PACKAGE_tcpdump-mini=y CONFIG_PACKAGE_terminfo=y CONFIG_PACKAGE_uhttpd=y CONFIG_PACKAGE_uhttpd-mod-ubus=y CONFIG_PACKAGE_umbim=y CONFIG_PACKAGE_uqmi=y CONFIG_PACKAGE_usb-modeswitch=y CONFIG_PACKAGE_usbreset=y CONFIG_PACKAGE_usbutils=y CONFIG_PACKAGE_wifitoggle=y CONFIG_PACKAGE_wireless-tools=y CONFIG_PACKAGE_wpad=y # CONFIG_PACKAGE_wpad-mini is not set CONFIG_PACKAGE_wwan=y CONFIG_PACKAGE_zabbix-agentd=y CONFIG_PACKAGE_zabbix-extra-mac80211=y CONFIG_PACKAGE_zabbix-extra-network=y CONFIG_PACKAGE_zabbix-extra-wifi=y CONFIG_PACKAGE_zlib=y CONFIG_SDK=y CONFIG_WPA_SUPPLICANT_INTERNAL=y # CONFIG_UCLIBC_USE_VERSION_0_9_33 is not set adamk@Precision-M4500:~/ChaosCalmer-r46734$ On 28/08/15 16:27, Felix Fietkau wrote: > On 2015-08-28 01:34, Adam Kuklycz wrote: >> Fair enough. >> >> MUSL: >> -rw-r--r-- 1 adamk adamk 6700676 Aug 27 23:15 root.squashfs >> >> UCLIBC: >> -rw-r--r-- 1 adamk adamk 6601764 Aug 27 14:19 root.squashfs >> >> So about 100KB difference. >> >> Running Ubuntu 14.04.2 LTS x64 here. >> >> I guess what I am looking at is the final product, which is around 300KB >> bigger in size. Regardless, I'm going to need to reduce features for >> routers with 8MB of flash, as kernel bloat also adds around another 300KB. > Can you please post the output of running ./scripts/diffconfig.sh? > > Thanks, > > - Felix
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi, what's the state of this patch? I'm unbreaking sparc for OpenWrt and uclibc is broken as already mentioned. musl doesn't support sparc :(. Best, lynxis On Wed, 26 Aug 2015 21:11:22 +0300 Alexey Brodkin <Alexey.Brodkin@synopsys.com> wrote: > uClibc-ng is a spin-off of original uClibc, see > http://www.uclibc-ng.org/ > > We try to regularly add changes from uClibc to uClibc-ng. > We even sent patches and bug reports to the uClibc mailing list. > The config file is compatible between uClibc-ng 1.0 and uClibc git > master. This might change in the future. > > Our main goal is to provide regularly a stable and tested release > to make embedded system developers happy. > > The main advantage of uClibc-ng over olde good uClibc is regular > releases so there's no need to keep tons of patches on top of years > old 0.9.33.2 > > Build-tested for > [1] ARM: Sunxi generic > [2] MIPS: Netgear WNDR3600/3700/3800 > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWDEgLAAoJEMKenaag34YEMlgP/2JIh87oijV/8E+Jx8zZ7vmd W2D4aJxsHY0el7KSEANlKD1fkhXAvWrCz0uV3VS8mbrHHQyuuoA6pbR57QKSTrmz ovyDNQtA7WLKJH9OQGJitMYsaNXGE+GbMo1X+WVuqBQ2G+fsoZ7QM/dEV/jnGOce HmpaHKk4hUVE2PKvN2GYa/rm4AlTXQoNNyjBloZ5U1MjxG5l/if82YDwCxhk7M/z PGMiZlezgPhNMlwfn+VF3pS16SqFGb7M9mEOn5dCxm32Zxx421K7WgU9bdvRHdkU +xYSCOfD2JcTIIHABKcyzBb9sKcUFoaOppiqdnf68+jUbo9LyWpcvtPu7wxhm5Qc 8ww1nIaDSamQPNd44Zou4XpDDtNxQeBaXXiVI70OEY+pXRl0Ilytt/zIoT1LSoYY RFd3TZPkswSNLE+eia8lztU6wjmsmO6vz1Do0BmGhCWiD1E9EtgG0T3B+r7YDp9o m1cqeOjD6e+BAMp/BCPe4N3R8C0BP1lo2ARa/ZxlzYywp8qL4BjFsVeZb1TmFmMb jRBuuKlBRQDn/cYDGQK4c8ct8kqgAWT5IAA2DYTErzOCxQra5Z4fuJzXHCtRsFQO qqvHZ2brmryCSgqmqcdzo6t7fxtoeMqCSfbvLHloRQszCHV9AbJ3gfWIBlTesVHv iWHy84BSs+1zfvKbjA8m =r+Rc -----END PGP SIGNATURE-----
Hi Alexander, On Wed, 2015-09-30 at 22:37 +0200, Alexander Couzens wrote: > Hi, > > what's the state of this patch? > > I'm unbreaking sparc for OpenWrt and uclibc is broken as already > mentioned. musl doesn't support sparc :(. Unfortunately I haven't heard anything back except that musl is the right way to go. I think you saw it here - https://patchwork.ozlabs.org/patch/510985/ And as in your case for ARC there's no musl yet and won't be at least anything stable until the next OpenWRT release. -Alexey
On 2015-09-30 22:49, Alexey Brodkin wrote: > Hi Alexander, > > On Wed, 2015-09-30 at 22:37 +0200, Alexander Couzens wrote: >> Hi, >> >> what's the state of this patch? >> >> I'm unbreaking sparc for OpenWrt and uclibc is broken as already >> mentioned. musl doesn't support sparc :(. > > Unfortunately I haven't heard anything back except that musl > is the right way to go. > > I think you saw it here - https://patchwork.ozlabs.org/patch/510985/ > > And as in your case for ARC there's no musl yet and won't be > at least anything stable until the next OpenWRT release. Sorry for the delay, I will take this patch, but I'm currently considering adding dependencies to limit it to platforms that need uClibc, so that we can skip the test effort and config maintenance on platforms that should be using musl instead. - Felix
diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in index 08ea00a..c923bc0 100644 --- a/toolchain/uClibc/Config.in +++ b/toolchain/uClibc/Config.in @@ -11,6 +11,10 @@ choice select UCLIBC_VERSION_0_9_33 bool "uClibc 0.9.33.2" + config UCLIBC_USE_VERSION_NG + select UCLIBC_VERSION_NG + bool "uClibc-ng" + endchoice # Debug version. diff --git a/toolchain/uClibc/Config.version b/toolchain/uClibc/Config.version index dd302f2..b6aa471 100644 --- a/toolchain/uClibc/Config.version +++ b/toolchain/uClibc/Config.version @@ -2,8 +2,12 @@ config UCLIBC_VERSION string depends on USE_UCLIBC default "0.9.33.2" if UCLIBC_VERSION_0_9_33 + default "1.0.6" if UCLIBC_VERSION_NG default "0.9.33.2" config UCLIBC_VERSION_0_9_33 default y if !TOOLCHAINOPTS && USE_UCLIBC bool + +config UCLIBC_VERSION_NG + bool diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk index 53a8443..026d69d 100644 --- a/toolchain/uClibc/common.mk +++ b/toolchain/uClibc/common.mk @@ -7,15 +7,24 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/target.mk -PKG_NAME:=uClibc PKG_VERSION:=$(call qstrip,$(CONFIG_UCLIBC_VERSION)) + +ifeq ($(CONFIG_UCLIBC_VERSION_NG),y) +PKG_NAME:=uClibc-ng +PKG_SOURCE_URL = http://downloads.uclibc-ng.org/releases/$(PKG_VERSION)/ +PATCH_DIR:=$(PATH_PREFIX)/patches-ng-$(PKG_VERSION) +CONFIG_DIR:=$(PATH_PREFIX)/config-ng-$(PKG_VERSION) +else +PKG_NAME:=uClibc PKG_SOURCE_URL:=http://www.uclibc.org/downloads -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -LIBC_SO_VERSION:=$(PKG_VERSION) PATCH_DIR:=$(PATH_PREFIX)/patches-$(PKG_VERSION) CONFIG_DIR:=$(PATH_PREFIX)/config-$(PKG_VERSION) +endif +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +LIBC_SO_VERSION:=$(PKG_VERSION) PKG_MD5SUM_0.9.33.2 = a338aaffc56f0f5040e6d9fa8a12eda1 +PKG_MD5SUM_1.0.6 = dfcc780bf2c7e2e42209bbb572e035cf PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION)) HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION) diff --git a/toolchain/uClibc/config-ng-1.0.6/arm b/toolchain/uClibc/config-ng-1.0.6/arm new file mode 100644 index 0000000..41a60b1 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/arm @@ -0,0 +1,9 @@ +ARCH_ANY_ENDIAN=y +ARCH_LITTLE_ENDIAN=y +ARCH_WANTS_LITTLE_ENDIAN=y +# COMPILE_IN_THUMB_MODE is not set +TARGET_ARCH="arm" +TARGET_arm=y +# USE_BX is not set +CONFIG_ARM_EABI=y + diff --git a/toolchain/uClibc/config-ng-1.0.6/armeb b/toolchain/uClibc/config-ng-1.0.6/armeb new file mode 100644 index 0000000..2e46dd6 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/armeb @@ -0,0 +1,9 @@ +ARCH_ANY_ENDIAN=y +ARCH_BIG_ENDIAN=y +ARCH_WANTS_BIG_ENDIAN=y +# COMPILE_IN_THUMB_MODE is not set +TARGET_ARCH="arm" +TARGET_arm=y +# USE_BX is not set +CONFIG_ARM_EABI=y + diff --git a/toolchain/uClibc/config-ng-1.0.6/common b/toolchain/uClibc/config-ng-1.0.6/common new file mode 100644 index 0000000..ddaf600 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/common @@ -0,0 +1,223 @@ +# 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_LD_LIBRARY_PATH=y +LDSO_LDD_SUPPORT=y +# LDSO_NO_CLEANUP is not set +# LDSO_PRELINK_SUPPORT is not set +# LDSO_PRELOAD_FILE_SUPPORT is not set +LDSO_PRELOAD_ENV_SUPPORT=y +LDSO_RUNPATH=y +LDSO_SAFE_RUNPATH=y +# LDSO_RUNPATH_OF_EXECUTABLE is not set +# LDSO_SEARCH_INTERP_PATH is not set +# LDSO_STANDALONE_SUPPORT is not set +# LINUXTHREADS_NEW is not set +# LINUXTHREADS_OLD is not set +# UCLIBC_HAS_BACKTRACE is not set +UCLIBC_HAS_THREADS_NATIVE=y +# MALLOC is not set +MALLOC_GLIBC_COMPAT=y +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MULTILIB_DIR="lib" +PTHREADS_DEBUG_SUPPORT=y +RUNTIME_PREFIX="/" +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +TARGET_SUBARCH="" +# TARGET_alpha is not set +# TARGET_arc is not set +# TARGET_arm is not set +# TARGET_avr32 is not set +# TARGET_bfin is not set +# TARGET_c6x 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_metag is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set +# TARGET_xtensa is not set +UCLIBC_BSD_SPECIFIC=y +UCLIBC_BUILD_NOEXECSTACK=y +# UCLIBC_BUILD_NOW is not set +# UCLIBC_BUILD_PIE is not set +UCLIBC_BUILD_RELRO=y +UCLIBC_CTOR_DTOR=y +UCLIBC_DYNAMIC_ATEXIT=y +UCLIBC_EXTRA_CFLAGS="" +UCLIBC_GRP_BUFFER_SIZE=256 +UCLIBC_HAS_ADVANCED_REALTIME=y +# UCLIBC_HAS_ARC4RANDOM is not set +UCLIBC_HAS_BSD_ERR=y +UCLIBC_HAS_BSD_RES_CLOSE=y +# UCLIBC_HAS_COMPAT_RES_STATE is not set +UCLIBC_HAS_CRYPT=y +UCLIBC_HAS_CRYPT_IMPL=y +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_CTYPE_SIGNED=y +UCLIBC_HAS_CTYPE_TABLES=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_EPOLL=y +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set +# UCLIBC_HAS_FENV is not set +UCLIBC_HAS_FLOATS=y +UCLIBC_HAS_FNMATCH=y +UCLIBC_HAS_FNMATCH_OLD=y +# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +# UCLIBC_HAS_FPU is not set +UCLIBC_HAS_FTS=y +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_GLIBC_DIGIT_GROUPING is not set +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_BUILD_ALL_LOCALE is not set +# UCLIBC_BUILD_MINIMAL_LOCALE is not set +# UCLIBC_PREGENERATED_LOCALE_DATA is not set +UCLIBC_HAS_LONG_DOUBLE_MATH=y +UCLIBC_HAS_NETWORK_SUPPORT=y +UCLIBC_HAS_NFTW=y +# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set +# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set +UCLIBC_HAS_PRINTF_M_SPEC=y +# UCLIBC_HAS_PROFILING is not set +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y +UCLIBC_HAS_PTY=y +UCLIBC_HAS_REALTIME=y +# UCLIBC_HAS_REENTRANT_RPC is not set +UCLIBC_HAS_REGEX=y +UCLIBC_HAS_REGEX_OLD=y +UCLIBC_HAS_RESOLVER_SUPPORT=y +# UCLIBC_HAS_RPC is not set +UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y +# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set +# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set +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_SSP_COMPAT is not set +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set +UCLIBC_HAS_STDIO_BUFSIZ_4096=y +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set +UCLIBC_HAS_STRING_ARCH_OPT=y +UCLIBC_HAS_STRING_GENERIC_OPT=y +# UCLIBC_HAS_STUBS is not set +UCLIBC_HAS_SYSLOG=y +# UCLIBC_HAS_SYS_ERRLIST is not set +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_THREADS=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_HAS_UTMPX=y +UCLIBC_HAS_UTMP=y +UCLIBC_HAS_WCHAR=y +UCLIBC_HAS_WORDEXP=y +# UCLIBC_HAS_XATTR is not set +# UCLIBC_HAS_XLOCALE is not set +UCLIBC_HAS___PROGNAME=y +# UCLIBC_LINUX_MODULE_24 is not set +UCLIBC_LINUX_MODULE_26=y +UCLIBC_LINUX_SPECIFIC=y +# UCLIBC_MALLOC_DEBUGGING is not set +# UCLIBC_MJN3_ONLY is not set +# UCLIBC_NTP_LEGACY is not set +# USE_OLD_VFPRINTF is not set +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +UCLIBC_PWD_BUFFER_SIZE=256 +# UCLIBC_STATIC_LDCONFIG is not set +# UCLIBC_STRICT_HEADERS is not set +UCLIBC_SUPPORT_AI_ADDRCONFIG=y +UCLIBC_SUSV3_LEGACY=y +UCLIBC_SUSV3_LEGACY_MACROS=y +UCLIBC_SUSV4_LEGACY=y +# UCLIBC_SV4_DEPRECATED is not set +UCLIBC_TZ_FILE_PATH="/etc/TZ" +# UCLIBC_FALLBACK_TO_ETC_LOCALTIME is not set +UCLIBC_USE_NETLINK=y +# UNIX98PTY_ONLY is not set +USE_BX=y +WARNINGS="-Wall" +# UCLIBC_HAS_OBSTACK is not set +# UCLIBC_SUSV2_LEGACY is not set +# UCLIBC_HAS_CONTEXT_FUNCS is not set +UCLIBC_HAS_GETOPT_LONG=y diff --git a/toolchain/uClibc/config-ng-1.0.6/debug b/toolchain/uClibc/config-ng-1.0.6/debug new file mode 100644 index 0000000..b366e66 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/debug @@ -0,0 +1,6 @@ +DODEBUG=y +DODEBUG_PT=y +PTHREADS_DEBUG_SUPPORT=y +SUPPORT_LD_DEBUG=y +SUPPORT_LD_DEBUG_EARLY=y +UCLIBC_MALLOC_DEBUGGING=y diff --git a/toolchain/uClibc/config-ng-1.0.6/i386 b/toolchain/uClibc/config-ng-1.0.6/i386 new file mode 100644 index 0000000..5ef264c --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/i386 @@ -0,0 +1,21 @@ +ARCH_LITTLE_ENDIAN=y +# CONFIG_386 is not set +CONFIG_486=y +# CONFIG_586 is not set +# CONFIG_586MMX is not set +# CONFIG_686 is not set +# CONFIG_CRUSOE is not set +# CONFIG_CYRIXIII is not set +# CONFIG_ELAN is not set +# CONFIG_GENERIC_386 is not set +# CONFIG_K6 is not set +# CONFIG_K7 is not set +# CONFIG_NEHEMIAH is not set +# CONFIG_PENTIUM4 is not set +# CONFIG_PENTIUMII is not set +# CONFIG_PENTIUMIII is not set +# CONFIG_WINCHIP2 is not set +# CONFIG_WINCHIPC6 is not set +TARGET_ARCH="i386" +TARGET_i386=y +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/i686 b/toolchain/uClibc/config-ng-1.0.6/i686 new file mode 100644 index 0000000..ba615f6 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/i686 @@ -0,0 +1,21 @@ +ARCH_LITTLE_ENDIAN=y +# CONFIG_386 is not set +# CONFIG_486 is not set +# CONFIG_586 is not set +# CONFIG_586MMX is not set +CONFIG_686=y +# CONFIG_CRUSOE is not set +# CONFIG_CYRIXIII is not set +# CONFIG_ELAN is not set +# CONFIG_GENERIC_386 is not set +# CONFIG_K6 is not set +# CONFIG_K7 is not set +# CONFIG_NEHEMIAH is not set +# CONFIG_PENTIUM4 is not set +# CONFIG_PENTIUMII is not set +# CONFIG_PENTIUMIII is not set +# CONFIG_WINCHIP2 is not set +# CONFIG_WINCHIPC6 is not set +TARGET_ARCH="i386" +TARGET_i386=y +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/m68k b/toolchain/uClibc/config-ng-1.0.6/m68k new file mode 100644 index 0000000..14ce5ae --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/m68k @@ -0,0 +1,6 @@ +ARCH_BIG_ENDIAN=y +LINUXTHREADS_OLD=y +TARGET_ARCH="m68k" +TARGET_SUBARCH="" +TARGET_m68k=y +# UCLIBC_HAS_THREADS_NATIVE is not set diff --git a/toolchain/uClibc/config-ng-1.0.6/mips b/toolchain/uClibc/config-ng-1.0.6/mips new file mode 100644 index 0000000..8cec22f --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips @@ -0,0 +1,18 @@ +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_ISA_MIPS64R2 is not set +# CONFIG_MIPS_N32_ABI is not set +# CONFIG_MIPS_N64_ABI is not set +CONFIG_MIPS_O32_ABI=y +TARGET_ARCH="mips" +TARGET_mips=y +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64 b/toolchain/uClibc/config-ng-1.0.6/mips64 new file mode 100644 index 0000000..566d87a --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64 @@ -0,0 +1,18 @@ +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_ISA_MIPS64R2 is not set +# 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 diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64.32 b/toolchain/uClibc/config-ng-1.0.6/mips64.32 new file mode 100644 index 0000000..b7ea8f4 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64.32 @@ -0,0 +1,19 @@ +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_ISA_MIPS64R2 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 +TARGET_SUBARCH="mips64" +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64.64 b/toolchain/uClibc/config-ng-1.0.6/mips64.64 new file mode 100644 index 0000000..2a0b755 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64.64 @@ -0,0 +1,19 @@ +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_ISA_MIPS64R2 is not set +# 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 +TARGET_SUBARCH="mips64" +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64.n32 b/toolchain/uClibc/config-ng-1.0.6/mips64.n32 new file mode 100644 index 0000000..f8def58 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64.n32 @@ -0,0 +1,19 @@ +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_ISA_MIPS64R2 is not set +CONFIG_MIPS_N32_ABI=y +# CONFIG_MIPS_N64_ABI is not set +# CONFIG_MIPS_O32_ABI is not set +TARGET_ARCH="mips" +TARGET_mips=y +TARGET_SUBARCH="mips64" +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el b/toolchain/uClibc/config-ng-1.0.6/mips64el new file mode 100644 index 0000000..5358078 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el @@ -0,0 +1,18 @@ +ARCH_ANY_ENDIAN=y +ARCH_CFLAGS="-mno-split-addresses" +ARCH_LITTLE_ENDIAN=y +ARCH_WANTS_LITTLE_ENDIAN=y +# CONFIG_MIPS_ISA_1 is not set +# CONFIG_MIPS_ISA_2 is not set +# CONFIG_MIPS_ISA_3 is not set +# CONFIG_MIPS_ISA_4 is not set +# CONFIG_MIPS_ISA_MIPS32 is not set +# CONFIG_MIPS_ISA_MIPS32R2 is not set +CONFIG_MIPS_ISA_MIPS64=y +# CONFIG_MIPS_ISA_MIPS64R2 is not set +# 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 diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el.32 b/toolchain/uClibc/config-ng-1.0.6/mips64el.32 new file mode 100644 index 0000000..a10840b --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el.32 @@ -0,0 +1,19 @@ +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_ISA_MIPS64R2 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 +TARGET_SUBARCH="mips64" +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el.64 b/toolchain/uClibc/config-ng-1.0.6/mips64el.64 new file mode 100644 index 0000000..8b90a54 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el.64 @@ -0,0 +1,19 @@ +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_ISA_MIPS64R2 is not set +# 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 +TARGET_SUBARCH="mips64" +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mips64el.n32 b/toolchain/uClibc/config-ng-1.0.6/mips64el.n32 new file mode 100644 index 0000000..4ac4d06 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mips64el.n32 @@ -0,0 +1,19 @@ +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_ISA_MIPS64R2 is not set +CONFIG_MIPS_N32_ABI=y +# CONFIG_MIPS_N64_ABI is not set +# CONFIG_MIPS_O32_ABI is not set +TARGET_ARCH="mips" +TARGET_mips=y +TARGET_SUBARCH="mips64" +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mipsel b/toolchain/uClibc/config-ng-1.0.6/mipsel new file mode 100644 index 0000000..d9dedbb --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mipsel @@ -0,0 +1,18 @@ +ARCH_ANY_ENDIAN=y +ARCH_CFLAGS="-mno-split-addresses" +ARCH_LITTLE_ENDIAN=y +ARCH_WANTS_LITTLE_ENDIAN=y +# CONFIG_MIPS_ISA_1 is not set +# CONFIG_MIPS_ISA_2 is not set +# CONFIG_MIPS_ISA_3 is not set +# CONFIG_MIPS_ISA_4 is not set +CONFIG_MIPS_ISA_MIPS32=y +# CONFIG_MIPS_ISA_MIPS32R2 is not set +# CONFIG_MIPS_ISA_MIPS64 is not set +# CONFIG_MIPS_ISA_MIPS64R2 is not set +# CONFIG_MIPS_N32_ABI is not set +# CONFIG_MIPS_N64_ABI is not set +CONFIG_MIPS_O32_ABI=y +TARGET_ARCH="mips" +TARGET_mips=y +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt b/toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt new file mode 100644 index 0000000..1d42a70 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt @@ -0,0 +1,18 @@ +ARCH_ANY_ENDIAN=y +ARCH_CFLAGS="-mno-split-addresses" +ARCH_LITTLE_ENDIAN=y +ARCH_WANTS_LITTLE_ENDIAN=y +# CONFIG_MIPS_ISA_1 is not set +# CONFIG_MIPS_ISA_2 is not set +CONFIG_MIPS_ISA_3=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_ISA_MIPS64R2 is not set +# CONFIG_MIPS_N32_ABI is not set +# CONFIG_MIPS_N64_ABI is not set +CONFIG_MIPS_O32_ABI=y +TARGET_ARCH="mips" +TARGET_mips=y +UCLIBC_HAS_FPU=y diff --git a/toolchain/uClibc/config-ng-1.0.6/powerpc b/toolchain/uClibc/config-ng-1.0.6/powerpc new file mode 100644 index 0000000..5b1292d --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/powerpc @@ -0,0 +1,6 @@ +ARCH_BIG_ENDIAN=y +CONFIG_CLASSIC=y +# CONFIG_E500 is not set +TARGET_ARCH="powerpc" +TARGET_SUBARCH="classic" +TARGET_powerpc=y diff --git a/toolchain/uClibc/config-ng-1.0.6/powerpc.e500 b/toolchain/uClibc/config-ng-1.0.6/powerpc.e500 new file mode 100644 index 0000000..a835c3d --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/powerpc.e500 @@ -0,0 +1,6 @@ +ARCH_BIG_ENDIAN=y +# CONFIG_CLASSIC is not set +CONFIG_E500=y +TARGET_ARCH="powerpc" +TARGET_SUBARCH="classic" +TARGET_powerpc=y diff --git a/toolchain/uClibc/config-ng-1.0.6/sparc b/toolchain/uClibc/config-ng-1.0.6/sparc new file mode 100644 index 0000000..e1596c4 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/sparc @@ -0,0 +1,8 @@ +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 diff --git a/toolchain/uClibc/config-ng-1.0.6/sparc.leon b/toolchain/uClibc/config-ng-1.0.6/sparc.leon new file mode 100644 index 0000000..eb725ac --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/sparc.leon @@ -0,0 +1,8 @@ +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 diff --git a/toolchain/uClibc/config-ng-1.0.6/x86_64 b/toolchain/uClibc/config-ng-1.0.6/x86_64 new file mode 100644 index 0000000..b6dc2c2 --- /dev/null +++ b/toolchain/uClibc/config-ng-1.0.6/x86_64 @@ -0,0 +1,6 @@ +ARCH_LITTLE_ENDIAN=y +# LINUXTHREADS_NEW is not set +TARGET_ARCH="x86_64" +TARGET_x86_64=y +UCLIBC_BSD_SPECIFIC=y +UCLIBC_HAS_FPU=y
uClibc-ng is a spin-off of original uClibc, see http://www.uclibc-ng.org/ We try to regularly add changes from uClibc to uClibc-ng. We even sent patches and bug reports to the uClibc mailing list. The config file is compatible between uClibc-ng 1.0 and uClibc git master. This might change in the future. Our main goal is to provide regularly a stable and tested release to make embedded system developers happy. The main advantage of uClibc-ng over olde good uClibc is regular releases so there's no need to keep tons of patches on top of years old 0.9.33.2 Build-tested for [1] ARM: Sunxi generic [2] MIPS: Netgear WNDR3600/3700/3800 Run-tested for [yet out of the tree] Synopsys Designware ARC AXS101. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Waldemar Brodkorb <wbx@uclibc-ng.org> Cc: Mathieu Olivari <mathieu@codeaurora.org> Cc: Felix Fietkau <nbd@openwrt.org> Cc: John Crispin <blogic@openwrt.org> --- toolchain/uClibc/Config.in | 4 + toolchain/uClibc/Config.version | 4 + toolchain/uClibc/common.mk | 15 +- toolchain/uClibc/config-ng-1.0.6/arm | 9 + toolchain/uClibc/config-ng-1.0.6/armeb | 9 + toolchain/uClibc/config-ng-1.0.6/common | 223 +++++++++++++++++++++++++ toolchain/uClibc/config-ng-1.0.6/debug | 6 + toolchain/uClibc/config-ng-1.0.6/i386 | 21 +++ toolchain/uClibc/config-ng-1.0.6/i686 | 21 +++ toolchain/uClibc/config-ng-1.0.6/m68k | 6 + toolchain/uClibc/config-ng-1.0.6/mips | 18 ++ toolchain/uClibc/config-ng-1.0.6/mips64 | 18 ++ toolchain/uClibc/config-ng-1.0.6/mips64.32 | 19 +++ toolchain/uClibc/config-ng-1.0.6/mips64.64 | 19 +++ toolchain/uClibc/config-ng-1.0.6/mips64.n32 | 19 +++ toolchain/uClibc/config-ng-1.0.6/mips64el | 18 ++ toolchain/uClibc/config-ng-1.0.6/mips64el.32 | 19 +++ toolchain/uClibc/config-ng-1.0.6/mips64el.64 | 19 +++ toolchain/uClibc/config-ng-1.0.6/mips64el.n32 | 19 +++ toolchain/uClibc/config-ng-1.0.6/mipsel | 18 ++ toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt | 18 ++ toolchain/uClibc/config-ng-1.0.6/powerpc | 6 + toolchain/uClibc/config-ng-1.0.6/powerpc.e500 | 6 + toolchain/uClibc/config-ng-1.0.6/sparc | 8 + toolchain/uClibc/config-ng-1.0.6/sparc.leon | 8 + toolchain/uClibc/config-ng-1.0.6/x86_64 | 6 + 26 files changed, 553 insertions(+), 3 deletions(-) create mode 100644 toolchain/uClibc/config-ng-1.0.6/arm create mode 100644 toolchain/uClibc/config-ng-1.0.6/armeb create mode 100644 toolchain/uClibc/config-ng-1.0.6/common create mode 100644 toolchain/uClibc/config-ng-1.0.6/debug create mode 100644 toolchain/uClibc/config-ng-1.0.6/i386 create mode 100644 toolchain/uClibc/config-ng-1.0.6/i686 create mode 100644 toolchain/uClibc/config-ng-1.0.6/m68k create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64 create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64.32 create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64.64 create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64.n32 create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el.32 create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el.64 create mode 100644 toolchain/uClibc/config-ng-1.0.6/mips64el.n32 create mode 100644 toolchain/uClibc/config-ng-1.0.6/mipsel create mode 100644 toolchain/uClibc/config-ng-1.0.6/mipsel.cobalt create mode 100644 toolchain/uClibc/config-ng-1.0.6/powerpc create mode 100644 toolchain/uClibc/config-ng-1.0.6/powerpc.e500 create mode 100644 toolchain/uClibc/config-ng-1.0.6/sparc create mode 100644 toolchain/uClibc/config-ng-1.0.6/sparc.leon create mode 100644 toolchain/uClibc/config-ng-1.0.6/x86_64