From fa4960645a9d0e5b1828bfac393b7caed06f4abf Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Mon, 15 Mar 2010 19:14:11 +0100 Subject: Toolchain: uClibc: remove unused uclibc-git kconfig file Signed-off-by: Abdoulaye Walsimou Gaye --- kconfig/uclibc-kconfigs/uclibc-git.config | 2117 ----------------------------- 1 file changed, 2117 deletions(-) delete mode 100644 kconfig/uclibc-kconfigs/uclibc-git.config (limited to 'kconfig') diff --git a/kconfig/uclibc-kconfigs/uclibc-git.config b/kconfig/uclibc-kconfigs/uclibc-git.config deleted file mode 100644 index d195f7b..0000000 --- a/kconfig/uclibc-kconfigs/uclibc-git.config +++ /dev/null @@ -1,2117 +0,0 @@ -################################################################################ -# GAYE Abdoulaye Walsimou, -# Copyright(C) 2009 GAYE Abdoulaye Walsimou. All rights reserved. -# For Copyrright from linux kernel's build/configure system, see their source -# code -# -# This program is free software; you can distribute it and/or modify it -# under the terms of the GNU General Public License -# (Version 2 or later) published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. -################################################################################ -# -# \file uclibc.kconfig -# \brief uclibc.kconfig of Embtoolkit, similar to Configs/Config.in -# \author GAYE Abdoulaye Walsimou, -# \date September 2009 -################################################################################ - -####################### Similar to Configs/Config.arch.in ###################### - -# -# Binary format -# -if !KEMBTK_UCLIBC_ARCH_USE_MMU -choice - prompt "Target File Format" - config KEMBTK_UCLIBC_UCLIBC_FORMAT_ELF - bool "ELF" - depends on KEMBTK_UCLIBC_ARCH_USE_MMU - config KEMBTK_UCLIBC_UCLIBC_FORMAT_FDPIC_ELF - bool "FDPIC ELF" - depends on !KEMBTK_UCLIBC_ARCH_USE_MMU - config KEMBTK_UCLIBC_UCLIBC_FORMAT_FLAT - bool "STATIC FLAT" - depends on !KEMBTK_UCLIBC_ARCH_USE_MMU - select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO - config KEMBTK_UCLIBC_UCLIBC_FORMAT_FLAT_SEP_DATA - bool "STATIC FLAT (sep-data)" - depends on !KEMBTK_UCLIBC_ARCH_USE_MMU - select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO - config KEMBTK_UCLIBC_UCLIBC_FORMAT_SHARED_FLAT - bool "SHARED FLAT" - depends on !KEMBTK_UCLIBC_ARCH_USE_MMU - select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO - help - Pick this one if you are using uClinux and wish to build - uClibc as a flat-format shared library. -endchoice -endif - -if KEMBTK_UCLIBC_ARCH_USE_MMU -comment "Using ELF file format" -endif - -config KEMBTK_UCLIBC_UCLIBC_SHARED_FLAT_ID - int "Shared library ID" - default 1 - depends on KEMBTK_UCLIBC_UCLIBC_FORMAT_SHARED_FLAT - help - When using flat shared libraries, every library has a unique - system-wide identifier. Identifier 0 is reserved for - executables and true shared libraries have identifiers - starting at 1. The maximum shared library identifier is - determined by the kernel and is usually 3. Shared library - N must be available on the target system as "/lib/libN.so". - - When a shared C library is used, it usually has identifier 1, - but you can use this option to select a different identifier - if you need to. - - - -# -# Endian Format -# -config KEMBTK_UCLIBC_ARCH_ANY_ENDIAN - bool - default n -config KEMBTK_UCLIBC_ARCH_BIG_ENDIAN - bool - default n -config KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN - bool - default n - -if KEMBTK_UCLIBC_ARCH_ANY_ENDIAN -config KEMBTK_UCLIBC_ARCH_WANTS_BIG_ENDIAN - bool - default y if EMBTK_ARCH_ARM_BIG_ENDIAN || EMBTK_ARCH_MIPS_BIG_ENDIAN - select KEMBTK_UCLIBC_ARCH_BIG_ENDIAN - default n - -config KEMBTK_UCLIBC_ARCH_WANTS_LITTLE_ENDIAN - bool - default y if EMBTK_ARCH_ARM_LITTLE_ENDIAN \ - || EMBTK_ARCH_MIPS_LITTLE_ENDIAN - select KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN - default n -endif - -# if the arch only supports one endian, just display the setting -if !KEMBTK_UCLIBC_ARCH_ANY_ENDIAN && KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN -comment "Using Little Endian" -endif -if !KEMBTK_UCLIBC_ARCH_ANY_ENDIAN && KEMBTK_UCLIBC_ARCH_BIG_ENDIAN -comment "Using Big Endian" -endif - -config KEMBTK_UCLIBC_ARCH_HAS_NO_MMU - bool - -if KEMBTK_UCLIBC_ARCH_HAS_NO_MMU -comment "Target CPU lacks a memory management unit (MMU)" -endif - -config KEMBTK_UCLIBC_ARCH_HAS_MMU - bool "Target CPU has a memory management unit (MMU)" - depends on !KEMBTK_UCLIBC_ARCH_HAS_NO_MMU - default y - help - If your target CPU does not have a memory management unit (MMU), - then answer N here. Normally, Linux runs on systems with an MMU. - If you are building a uClinux system, answer N. - - Most people will answer Y. - -config KEMBTK_UCLIBC_ARCH_USE_MMU - bool "Do you want to utilize the MMU?" - depends on KEMBTK_UCLIBC_ARCH_HAS_MMU - default y - help - If your target CPU has a MMU, and you wish to actually utilize it, - then answer Y here. Normal Linux requires an MMU. - - If you're unsure, answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS - bool "Enable floating point number support" - default y - help - This option allows you to entirely omit all floating point number - support from uClibc. This will cause floating point functions like - strtod() to be omitted from uClibc. Other floating point functions, - such as printf() and scanf() will still be included in the library, - but will not contain support for floating point numbers. - - Answering N to this option can reduce the size of uClibc. - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FPU - bool - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS - default y if EMBTK_HARDFLOAT - default n if EMBTK_SOFTFLOAT - help - If your target CPU does not have a Floating Point Unit (FPU) or a - kernel FPU emulator, but you still wish to support floating point - functions, then uClibc will need to be compiled with soft floating - point support (-msoft-float). If your target CPU does not have an - FPU or an FPU emulator within the Linux kernel, then you should - answer N. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_SOFT_FLOAT - bool - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS && \ - !KEMBTK_UCLIBC_UCLIBC_HAS_FPU - default y - -config KEMBTK_UCLIBC_DO_C99_MATH - bool "Enable full C99 math library support" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS - default n - help - If you want the uClibc math library to contain the full set C99 - math library features, then answer Y. If you leave this set to - N the math library will contain only the math functions that were - listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard. - Leaving this option set to N will save around 35k on an x86 system. - - If your applications require the newer C99 math library functions, - then answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FENV - bool - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS - default n - help - If you want the uClibc math library to contain the C99 floating - point environment, rounding and exception handling functions then - say Y here. - - NOTE: Supported architectures currently include: - i386 - -config KEMBTK_UCLIBC_UCLIBC_HAS_LONG_DOUBLE_MATH - bool "Enable long double support" - depends on KEMBTK_UCLIBC_DO_C99_MATH - depends on KEMBTK_UCLIBC_TARGET_i386 || KEMBTK_UCLIBC_TARGET_m68k \ - || KEMBTK_UCLIBC_TARGET_sparc || KEMBTK_UCLIBC_TARGET_x86_64 \ - || KEMBTK_UCLIBC_TARGET_powerpc - default y - help - If you want the uClibc math library to contain the full set of C99 - long double math library features, then answer Y. Don't enable it - for sparc w/ 32bit ABI. - -config KEMBTK_UCLIBC_KERNEL_HEADERS - string - default "/usr/include" - help - The kernel source you use to compile with should be the same - as the Linux kernel you run your apps on. uClibc doesn't even - try to achieve binary compatibility across kernel versions. - So don't expect, for example, uClibc compiled with Linux kernel - 2.0.x to implement lchown properly, since 2.0.x can't do that. - Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, - but then run on Linux 2.0.x, lchown will be compiled into uClibc, - but won't work at all. You have been warned. - -config KEMBTK_UCLIBC_UCLIBC_UCLINUX_BROKEN_MUNMAP - bool - depends on !KEMBTK_UCLIBC_ARCH_USE_MMU - default y - -config KEMBTK_UCLIBC_EXCLUDE_BRK - bool - depends on !KEMBTK_UCLIBC_ARCH_USE_MMU - default y - -config KEMBTK_UCLIBC_HAVE_DOT_CONFIG - bool - default y - -##################### End similar to Configs/Config.arch.in #################### -comment "----------------" -comment "General Library Settings" -comment "----------------" - -config KEMBTK_UCLIBC_HAVE_NO_PIC - bool - default n - -config KEMBTK_UCLIBC_DOPIC - bool "Generate only Position Independent Code (PIC)" - default y - depends on !KEMBTK_UCLIBC_HAVE_NO_PIC - help - If you wish to build all of uClibc as PIC objects, then answer Y here. - If you are unsure, then you should answer N. - -config KEMBTK_UCLIBC_ARCH_HAS_NO_SHARED - bool - default n - -config KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO - bool - select KEMBTK_UCLIBC_ARCH_HAS_NO_SHARED - default n - -config KEMBTK_UCLIBC_HAVE_SHARED - bool "Enable support for shared libraries" - depends on !KEMBTK_UCLIBC_ARCH_HAS_NO_SHARED - default y - help - If you wish to build uClibc with support for shared libraries then - answer Y here. If you only want to build uClibc as a static library, - then answer N. - -config KEMBTK_UCLIBC_FORCE_SHAREABLE_TEXT_SEGMENTS - bool "Only load shared libraries which can share their text segment" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default n - help - If you answer Y here, the uClibc native shared library loader will - only load shared libraries, which do not need to modify any - non-writable segments. These libraries haven't set the DT_TEXTREL - tag in the dynamic section (==> objdump). - All your libraries must be compiled with -fPIC or -fpic, and all - assembler function must be written as position independent code (PIC). - Enabling this option will make uClibc's shared library loader a - little bit smaller and guarantee that no memory will be wasted by - badly coded shared libraries. - -config KEMBTK_UCLIBC_LDSO_LDD_SUPPORT - bool "Native 'ldd' support" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default y - help - Enable this to enable all the code needed to support traditional ldd, - which executes the shared library loader to resolve all dependencies - and then provide a list of shared libraries that are required for an - application to function. Disabling this option will makes uClibc's - shared library loader a little bit smaller. - Most people will answer Y. - -config KEMBTK_UCLIBC_LDSO_CACHE_SUPPORT - bool "Enable library loader cache (ld.so.conf)" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default y - help - Enable this to make use of /etc/ld.so.conf, the shared library loader - cache configuration file to support for non-standard library paths. - After updating this file, it is necessary to run 'ldconfig' to update - the /etc/ld.so.cache shared library loader cache file. - -config KEMBTK_UCLIBC_LDSO_PRELOAD_FILE_SUPPORT - bool "Enable library loader preload file (ld.so.preload)" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default n - help - Enable this to make use of /etc/ld.so.preload. This file contains a - whitespace separated list of shared libraries to be loaded before - the program. - -config KEMBTK_UCLIBC_LDSO_BASE_FILENAME - string - depends on KEMBTK_UCLIBC_HAVE_SHARED \ - && (KEMBTK_UCLIBC_LDSO_CACHE_SUPPORT \ - || KEMBTK_UCLIBC_LDSO_PRELOAD_FILE_SUPPORT) - default "ld.so" - help - If you wish to support both uClibc and glibc on the same system, it - is necessary to set this to something other than "ld.so" to avoid - conflicts with glibc, which also uses "ld.so". This prevents both - libraries from using the same /etc/ld.so.* files. If you wish to - support both uClibc and glibc on the same system then you should set - this to "ld-uClibc.so". - - Most people will leave this set to the default of "ld.so". - - WARNING: Changing the default prefix could cause problems with - binutils' ld ! - -config KEMBTK_UCLIBC_LDSO_BASE_FILENAME - string - depends on KEMBTK_UCLIBC_HAVE_SHARED && (KEMBTK_UCLIBC_LDSO_CACHE_SUPPORT \ - || KEMBTK_UCLIBC_LDSO_PRELOAD_FILE_SUPPORT) - default "ld.so" - help - If you wish to support both uClibc and glibc on the same system, it - is necessary to set this to something other than "ld.so" to avoid - conflicts with glibc, which also uses "ld.so". This prevents both - libraries from using the same /etc/ld.so.* files. If you wish to - support both uClibc and glibc on the same system then you should set - this to "ld-uClibc.so". - - Most people will leave this set to the default of "ld.so". - - WARNING: Changing the default prefix could cause problems with - binutils' ld ! - -config KEMBTK_UCLIBC_UCLIBC_STATIC_LDCONFIG - bool "Link ldconfig statically" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default y - help - Enable this option to statically link the ldconfig binary. - - Making ldconfig static can be beneficial if you have a library - problem and need to use ldconfig to recover. Sometimes, it is - preferable to instead keep the size of the system down, in which - case you should disable this option. - -config KEMBTK_UCLIBC_LDSO_RUNPATH - bool "Enable ELF RUNPATH tag support" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default y - help - ELF's may have dynamic RPATH/RUNPATH tags. These tags list paths - which extend the library search paths. They are really only useful - if a package installs libraries in non standard locations and - ld.so.conf support is disabled. - - Usage of RUNPATH tags is not too common, so disabling this feature - should be safe for most people. - -config KEMBTK_UCLIBC_UCLIBC_CTOR_DTOR - bool "Support global constructors and destructors" - default y - help - If you wish to build uClibc with support for global constructor - (ctor) and global destructor (dtor) support, then answer Y here. - When ctor/dtor support is enabled, binaries linked with uClibc must - also be linked with crtbegin.o and crtend.o which are provided by gcc - (the "*startfile:" and "*endfile:" settings in your gcc specs file - may need to be adjusted to include these files). This support will - also add a small amount of additional size to each binary compiled vs - uClibc. If you will be using uClibc with C++, or if you need the gcc - __attribute__((constructor)) and __attribute__((destructor)) to work, - then you definitely want to answer Y here. If you don't need ctors - or dtors and want your binaries to be as small as possible, then - answer N. - -config KEMBTK_UCLIBC_LDSO_GNU_HASH_SUPPORT - bool "Enable GNU hash style support" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default n - help - Newest binutils support a new hash style named GNU-hash. The dynamic - linker will use the new GNU-hash section (.gnu.hash) for symbol lookup - if present into the ELF binaries, otherwise it will use the old SysV - hash style (.hash). This ensures that it is completely backward - compatible. - Further, being the hash table implementation self-contained into each - executable and shared libraries, objects with mixed hash style can - peacefully coexist in the same process. - - If you want to use this new feature, answer Y - -config KEMBTK_UCLIBC_HAS_NO_THREADS - bool - default n - -config KEMBTK_UCLIBC_UCLIBC_HAS_THREADS - bool "POSIX Threading support" - depends on !KEMBTK_UCLIBC_HAS_NO_THREADS - default y - # linuxthreads and linuxthreads.old need nanosleep() - select KEMBTK_UCLIBC_UCLIBC_HAS_REALTIME - help - If you want to compile uClibc with pthread support, then answer Y. - This will increase the size of uClibc by adding a bunch of locking - to critical data structures, and adding extra code to ensure that - functions are properly reentrant. - - If your applications require pthreads, answer Y. - -config KEMBTK_UCLIBC_PTHREADS_DEBUG_SUPPORT - bool "Build pthreads debugging support" - default n - depends on KEMBTK_UCLIBC_UCLIBC_HAS_THREADS - help - Say Y here if you wish to be able to debug applications that use - uClibc's pthreads library. By enabling this option, a library - named libthread_db will be built. This library will be dlopen()'d - by gdb and will allow gdb to debug the threads in your application. - - IMPORTANT NOTE! Because gdb must dlopen() the libthread_db library, - you must compile gdb with uClibc in order for pthread debugging to - work properly. - - If you are doing development and want to debug applications using - uClibc's pthread library, answer Y. Otherwise, answer N. - -config KEMBTK_UCLIBC_LINUXTHREADS_OLD - bool "Use the older (stable) version of linuxthreads" - default y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_THREADS - help - There are two versions of linuxthreads. The older (stable) version - has been in uClibc for quite a long time but hasn't seen too many - updates other than bugfixes. - - The new version has not been tested much, and lacks ports for arches - which glibc does not support (like bfin/frv/etc...), but is based on - the latest code from glibc, so it may be the only choice for the - newer ports (like alpha/amd64/64bit arches and hppa). - -config KEMBTK_UCLIBC_LINUXTHREADS_NEW - def_bool y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_THREADS \ - && !KEMBTK_UCLIBC_LINUXTHREADS_OLD - -config KEMBTK_UCLIBC_UCLIBC_HAS_SYSLOG - bool "Syslog support" - default y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_NETWORK_SUPPORT - select KEMBTK_UCLIBC_UCLIBC_HAS_SOCKET - help - Support sending messages to the system logger. - This requires socket-support. - -config KEMBTK_UCLIBC_UCLIBC_HAS_LFS - bool "Large File Support" - default y - help - If you wish to build uClibc with support for accessing large files - (i.e. files greater then 2 GiB) then answer Y. Do not enable this - if you are using an older Linux kernel (2.0.x) that lacks large file - support. Enabling this option will increase the size of uClibc. - -choice - prompt "Malloc Implementation" - default KEMBTK_UCLIBC_MALLOC if !KEMBTK_UCLIBC_ARCH_USE_MMU - default KEMBTK_UCLIBC_MALLOC_STANDARD if KEMBTK_UCLIBC_ARCH_USE_MMU - -config KEMBTK_UCLIBC_MALLOC - bool "malloc" - help - "malloc" use mmap for all allocations and so works very well on - MMU-less systems that do not support the brk() system call. It is - pretty smart about reusing already allocated memory, and minimizing - memory wastage. - This is the default for uClinux MMU-less systems. - -config KEMBTK_UCLIBC_MALLOC_SIMPLE - bool "malloc-simple" - help - "malloc-simple" is trivially simple and slow as molasses. It - was written from scratch for uClibc, and is the simplest possible - (and therefore smallest) malloc implementation. - - This uses only the mmap() system call to allocate and free memory, - and does not use the brk() system call at all, making it a fine - choice for MMU-less systems with very limited memory. It's 100% - standards compliant, thread safe, very small, and releases freed - memory back to the OS immediately rather than keeping it in the - process's heap for reallocation. It is also VERY SLOW. - -config KEMBTK_UCLIBC_MALLOC_STANDARD - bool "malloc-standard" - depends on KEMBTK_UCLIBC_ARCH_USE_MMU - help - "malloc-standard" is derived from the public domain dlmalloc - implementation by Doug Lea. It is quite fast, and is pretty smart - about reusing already allocated memory, and minimizing memory - wastage. This uses brk() for small allocations, while using mmap() - for larger allocations. This is the default malloc implementation - for uClibc. - - If unsure, answer "malloc-standard". - -endchoice - -config KEMBTK_UCLIBC_MALLOC_GLIBC_COMPAT - bool "Malloc returns live pointer for malloc(0)" - default n - help - The behavior of malloc(0) is listed as implementation-defined by - SuSv3. Glibc returns a valid pointer to something, while uClibc - normally returns NULL. I personally feel glibc's behavior is - not particularly safe, and allows buggy applications to hide very - serious problems. - - When this option is enabled, uClibc will act just like glibc, and - return a live pointer when someone calls malloc(0). This pointer - provides a malloc'ed area with a size of 1 byte. This feature is - mostly useful when dealing with applications using autoconf's broken - AC_FUNC_MALLOC macro (which redefines malloc as rpl_malloc if it - does not detect glibc style returning-a-valid-pointer-for-malloc(0) - behavior). Most people can safely answer N. - -config KEMBTK_UCLIBC_UCLIBC_DYNAMIC_ATEXIT - bool "Dynamic atexit() Support" - default y - help - When this option is enabled, uClibc will support an infinite number, - of atexit() and on_exit() functions, limited only by your available - memory. This can be important when uClibc is used with C++, since - global destructors are implemented via atexit(), and it is quite - possible to exceed the default number when this option is disabled. - Enabling this option adds a few bytes, and more significantly makes - atexit and on_exit depend on malloc, which can be bad when compiling - static executables. - - Unless you use uClibc with C++, you should probably answer N. - -config KEMBTK_UCLIBC_COMPAT_ATEXIT - bool "Old (visible) atexit Support" - default n - help - Enable this option if you want to update from 0.9.28 to svn/0.9.29, - else you will be missing atexit() until you rebuild all apps. - -config KEMBTK_UCLIBC_UCLIBC_SUSV3_LEGACY - bool "Enable SuSv3 LEGACY functions" - default n - help - Enable this option if you want to have SuSv3 LEGACY functions - in the library, else they are replaced by SuSv3 proposed macros. - Currently applies to bcopy/bzero/bcmp/index/rindex/ftime. - WARNING! ABI incompatibility. - -config KEMBTK_UCLIBC_UCLIBC_SUSV3_LEGACY_MACROS - bool "Enable SuSv3 LEGACY macros" - default n - help - Enable this option if you want to have SuSv3 LEGACY macros. - Currently applies to bcopy/bzero/bcmp/index/rindex et al. - WARNING! ABI incompatibility. - -config KEMBTK_UCLIBC_UCLIBC_HAS_STUBS - bool "Provide stubs for unavailable functionality" - default n - help - With this option uClibc provides non-functional stubs for - functions which are impossible to implement on the target - architecture. Otherwise, such functions are simply omitted. - - As of 2008-07, this option makes uClibc provide fork() stub - on NOMMU targets. It always sets errno to ENOSYS and returns -1. - - This may be useful if you port a lot of software and cannot - audit all of it and replace or disable fork() usage. - With this option, a program which uses fork() will build - successfully. Of course, it may be useless if fork() - is essential for its operation. - -config KEMBTK_UCLIBC_UCLIBC_HAS_SHADOW - bool "Shadow Password Support" - default y - help - Answer N if you do not need shadow password support. - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_PROGRAM_INVOCATION_NAME - bool "Support for program_invocation_name" - default n - help - Support for the GNU-specific program_invocation_name and - program_invocation_short_name strings. Some GNU packages - (like tar and coreutils) utilize these for extra useful - output, but in general are not required. - - At startup, these external strings are automatically set - up based on the value of ARGV[0]. - - If unsure, just answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS___PROGNAME - bool "Support for __progname" - default y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_PROGRAM_INVOCATION_NAME - help - Some packages (like openssh) like to peek into internal libc - symbols to make their output a bit more user friendly. - - At startup, __progname is automatically set up based on the - value of ARGV[0]. - - If unsure, just answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_PTY - bool "Support for pseudo-terminals" - default y - help - This enables support for pseudo-terminals (see man 4 pts - and man 7 pty). - - If unsure, just answer Y. - -config KEMBTK_UCLIBC_ASSUME_DEVPTS - bool "Assume that /dev/pts is a devpts or devfs file system" - default y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_PTY - help - Enable this if /dev/pts is on a devpts or devfs filesystem. Both - these filesystems automatically manage permissions on the /dev/pts - devices. You may need to mount your devpts or devfs filesystem on - /dev/pts for this to work. - - Most people should answer Y. - -config KEMBTK_UCLIBC_UNIX98PTY_ONLY - bool "Support only Unix 98 PTYs" - default y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_PTY - help - If you want to support only Unix 98 PTYs enable this. Some older - applications may need this disabled and will thus use legacy BSD - style PTY handling which is more complex and also bigger than - Unix 98 PTY handling. - - For most current programs, you can generally answer Y. - -if KEMBTK_UCLIBC_UNIX98PTY_ONLY -config KEMBTK_UCLIBC_UCLIBC_HAS_GETPT - bool "Support getpt() (glibc-compat)" - default n - depends on KEMBTK_UCLIBC_UCLIBC_HAS_PTY - help - Some packages may need getpt(). - All of those are non-standard and can be considered - GNU/libc compatibility. - Either use posix_openpt() or just open /dev/ptmx yourself. - - If unsure, just say N. -endif - -if !KEMBTK_UCLIBC_UNIX98PTY_ONLY -# Have to use __libc_ptyname{1,2}[] and related bloat -config KEMBTK_UCLIBC_UCLIBC_HAS_GETPT - def_bool y -endif - -config KEMBTK_UCLIBC_UCLIBC_HAS_TM_EXTENSIONS - bool "Support 'struct tm' timezone extension fields" - default y - help - Enabling this option adds fields to 'struct tm' in time.h for - tracking the number of seconds east of UTC, and an abbreviation for - the current timezone. These fields are not specified by the SuSv3 - standard, but they are commonly used in both GNU and BSD application - code. - - To strictly follow the SuSv3 standard, leave this disabled. - Most people will probably want to answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_TZ_CACHING - bool "Enable caching of the last valid timezone 'TZ' string" - default y - help - Answer Y to enable caching of the last valid 'TZ' string describing - the timezone setting. This allows a quick string compare to avoid - repeated parsing of unchanged 'TZ' strings when tzset() is called. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_TZ_FILE - bool "Enable '/etc/TZ' file support to set a default timezone (uClibc-specific)" - default y - help - Answer Y to enable the setting of a default timezone for uClibc. - - Ordinarily, uClibc gets the timezone information exclusively from the - 'TZ' environment variable. In particular, there is no support for - the zoneinfo directory tree or the /etc/timezone file used by glibc. - - With this option enabled, uClibc will use the value stored in the - file '/etc/TZ' (default path) to obtain timezone information if the - 'TZ' environment variable is missing or has an invalid value. The - file consists of a single line (newline required) of text describing - the timezone in the format specified for the TZ environment variable. - - Doing 'echo CST6CDT > /etc/TZ' is enough to create a valid file. - See - http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html - for details on valid settings of 'TZ'. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_TZ_FILE_READ_MANY - bool "Repeatedly read the '/etc/TZ' file" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_TZ_FILE - default y - help - Answer Y to enable repeated reading of the '/etc/TZ' file even after - a valid value has been read. This incurs the overhead of an - open/read/close for each tzset() call (explicit or implied). However, - setting this will allow applications to update their timezone - information if the contents of the file change. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_TZ_FILE_PATH - string "Path to the 'TZ' file for setting the global timezone" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_TZ_FILE - default "/etc/TZ" - help - This is the path to the 'TZ' file. - - Most people will use the default of '/etc/TZ'. -comment "----------------" -comment "Advanced Library Settings" -comment "----------------" - -config KEMBTK_UCLIBC_UCLIBC_PWD_BUFFER_SIZE - int "Buffer size for getpwnam() and friends" - default 256 - range 12 1024 - help - This sets the value of the buffer size for getpwnam() and friends. - By default, this is 256. (For reference, glibc uses 1024). - The value can be found using sysconf() with the _SC_GETPW_R_SIZE_MAX - parameter. - -config KEMBTK_UCLIBC_UCLIBC_GRP_BUFFER_SIZE - int "Buffer size for getgrnam() and friends" - default 256 - range 12 1024 - help - This sets the value of the buffer size for getgrnam() and friends. - By default, this is 256. (For reference, glibc uses 1024). - The value can be found using sysconf() with the _SC_GETGR_R_SIZE_MAX - parameter. - -comment "Support various families of functions" - -config KEMBTK_UCLIBC_UCLIBC_LINUX_MODULE_24 - bool "Linux kernel module functions" - default y - help - create_module, query_module - are used in linux (prior to 2.6) for loadable kernel modules. - - Say N if you do not use kernel modules. - -config KEMBTK_UCLIBC_UCLIBC_LINUX_SPECIFIC - bool "Linux specific functions" - default y - help - fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(), - personality(), ppoll(), setresuid(), signalfd() - -config KEMBTK_UCLIBC_UCLIBC_HAS_GNU_ERROR - bool "Support GNU extensions for error-reporting" - default y - help - Support for the GNU-specific error(), error_at_line(), - void (* error_print_progname)(), error_message_count - functions and variables. Some GNU packages - utilize these for extra useful output, but in general - are not required. - - If unsure, just answer N. - -config KEMBTK_UCLIBC_UCLIBC_BSD_SPECIFIC - bool "BSD specific functions" - default y - help - mincore(), getdomainname(), setdomainname() - - If unsure, say N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_BSD_ERR - bool "BSD err functions" - default y - help - These functions are non-standard BSD extensions. - err(), errx(), warn(), warnx(), verr(), verrx(), vwarn(), vwarnx() - - If unsure, say N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_OBSOLETE_BSD_SIGNAL - bool "BSD obsolete signal functions" - default n - help - These functions are provided as a compatibility interface for - programs that make use of the historical System V signal API. - This API is obsolete: - new applications should use the POSIX signal API (sigaction(2), - sigprocmask(2), etc.). - Affected functions: - - sigset(), sighold(), sigrelse(), sigignore() - - If unsure, say N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL - bool "SYSV obsolete signal functions" - default n - help - Use of sysv_signal() should be avoided; use sigaction(2) instead. - - If unsure, say N. - -config KEMBTK_UCLIBC_UCLIBC_NTP_LEGACY - bool "ntp_*() aliases" - default n - help - Provide legacy aliases for ntp functions: - ntp_adjtime(), ntp_gettime() - - It is safe to say N here. - -config KEMBTK_UCLIBC_UCLIBC_SV4_DEPRECATED - bool "Enable SVr4 deprecated functions" - default n - help - These functions are DEPRECATED in System V release 4. - Say N unless you desparately need one of the functions below: - - ustat() [use statfs(2) in your code instead] - -config KEMBTK_UCLIBC_UCLIBC_HAS_REALTIME - bool "Realtime-related family of SUSv functions" - default y - help - These functions are part of the Timers option and need not - be available on all implementations. - Includes AIO, message-queue, scheduler, semaphore functions: - - aio.h - mqueue.h - sched.h - semaphore.h - - aio_cancel() - aio_error() - aio_fsync() - aio_read() - lio_listio() - aio_return() - aio_suspend() - aio_write() - clock_getres(), clock_gettime(), clock_settime() - fdatasync() - mlockall(), munlockall() - mlock(), munlock() - mq_close() - mq_getattr() - mq_notify() - mq_open() - mq_receive() - mq_send() - mq_setattr() - mq_unlink() - nanosleep() - sched_getparam() - sched_get_priority_max(), sched_get_priority_min() - sched_getscheduler() - sched_rr_get_interval() - sched_setparam() - sched_setscheduler() - sem_close() - sem_destroy() - sem_getvalue() - sem_init() - sem_open() - sem_post() - sem_trywait(), sem_wait() - sem_unlink() - sigqueue() - sigtimedwait(), sigwaitinfo() - timer_create() - timer_delete() - timer_getoverrun(), timer_gettime(), timer_settime() - -config KEMBTK_UCLIBC_UCLIBC_HAS_ADVANCED_REALTIME - bool "Advanced realtime-related family of SUSv functions" - default y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_REALTIME - help - These functions are part of the Timers option and need not - be available on all implementations. - - clock_getcpuclockid() - clock_nanosleep() - mq_timedreceive() - mq_timedsend() - posix_fadvise() - posix_fallocate() - posix_madvise() - posix_memalign() - posix_mem_offset() - posix_spawnattr_destroy(), posix_spawnattr_init() - posix_spawnattr_getflags(), posix_spawnattr_setflags() - posix_spawnattr_getpgroup(), posix_spawnattr_setpgroup() - posix_spawnattr_getschedparam(), posix_spawnattr_setschedparam() - posix_spawnattr_getschedpolicy(), posix_spawnattr_setschedpolicy() - posix_spawnattr_getsigdefault(), posix_spawnattr_setsigdefault() - posix_spawnattr_getsigmask(), posix_spawnattr_setsigmask() - posix_spawn_file_actions_addclose() - posix_spawn_file_actions_adddup2() - posix_spawn_file_actions_addopen() - posix_spawn_file_actions_destroy() - posix_spawn_file_actions_init() - posix_spawn() - posix_spawnp() - posix_typed_mem_get_info() - pthread_mutex_timedlock() - sem_timedwait() - -config KEMBTK_UCLIBC_UCLIBC_HAS_EPOLL - bool "epoll" - default y - help - epoll_create(), epoll_ctl(), epoll_wait() functions. - -config KEMBTK_UCLIBC_UCLIBC_HAS_XATTR - bool "Extended Attributes" - default y - help - Extended Attributes support. - - setxattr() - lsetxattr() - fsetxattr() - getxattr() - lgetxattr() - fgetxattr() - listxattr() - llistxattr() - flistxattr() - removexattr() - lremovexattr() - fremovexattr() - - Say N unless you need support for extended attributes and the - filesystems do actually support them. - -config KEMBTK_UCLIBC_UCLIBC_HAS_PROFILING - bool "Profiling support" - default y - help - gcc's -finstrument-functions needs these. - - Most people can safely answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_CRYPT_IMPL - bool "libcrypt support" - default y - help - libcrypt contains crypt(), setkey() and encrypt() - -config KEMBTK_UCLIBC_UCLIBC_HAS_CRYPT_STUB - bool "libcrypt stubs" - default y - depends on !KEMBTK_UCLIBC_UCLIBC_HAS_CRYPT_IMPL - help - Standards mandate that crypt(3) provides a stub if it is unavailable. - If you enable this option then stubs for - crypt(), setkey() and encrypt() - will be provided in a small libcrypt. - -config KEMBTK_UCLIBC_UCLIBC_HAS_CRYPT - def_bool y - depends on KEMBTK_UCLIBC_UCLIBC_HAS_CRYPT_IMPL \ - || KEMBTK_UCLIBC_UCLIBC_HAS_CRYPT_STUB - -comment "----------------" -comment "Netwoking options" -comment "----------------" -config KEMBTK_UCLIBC_UCLIBC_HAS_NETWORK_SUPPORT - bool "Networking Support" - default y - help - Say N here if you do not need network support. - -if KEMBTK_UCLIBC_UCLIBC_HAS_NETWORK_SUPPORT -config KEMBTK_UCLIBC_UCLIBC_HAS_SOCKET - bool "Socket support" - default y - help - If you want to include support for sockets then answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_IPV4 - bool "IP version 4 support" - default y - select KEMBTK_UCLIBC_UCLIBC_HAS_SOCKET - help - If you want to include support for the Internet Protocol - (IP version 4) then answer Y. - - Most people will say Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_IPV6 - bool "IP version 6 support" - default n - select KEMBTK_UCLIBC_UCLIBC_HAS_SOCKET - help - If you want to include support for the next version of the Internet - Protocol (IP version 6) then answer Y. - - Most people should answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_RPC - bool "Remote Procedure Call (RPC) support" - default n - # RPC+socket-ipvX doesn't currently work. - depends on KEMBTK_UCLIBC_UCLIBC_HAS_IPV4 \ - || KEMBTK_UCLIBC_UCLIBC_HAS_IPV6 - help - If you want to include RPC support, enable this. RPC is rarely used - for anything except for the NFS filesystem. Unless you plan to use - NFS, you can probably leave this set to N and save some space. - - If you need to use NFS then you should answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FULL_RPC - bool "Full RPC support" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_RPC - default y if !KEMBTK_UCLIBC_HAVE_SHARED - help - Normally we enable just enough RPC support for things like rshd and - nfs mounts to work. If you find you need the rest of the RPC stuff, - then enable this option. Most people can safely answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_REENTRANT_RPC - bool "Reentrant RPC support" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_RPC - default y if !KEMBTK_UCLIBC_HAVE_SHARED - help - Most packages utilize the normal (non-reentrant) RPC functions, but - some (like exportfs from nfs-utils) need these reentrant versions. - - Most people can safely answer N. - -config KEMBTK_UCLIBC_UCLIBC_USE_NETLINK - bool "Use netlink to query interfaces" - default n - depends on KEMBTK_UCLIBC_UCLIBC_HAS_SOCKET - help - In newer versions of Linux (2.4.17+), support was added for querying - network device information via netlink rather than the old style - ioctl's. Most of the time, the older ioctl style is sufficient (and - it is smaller than netlink), but if you find that not all of your - devices are being returned by the if_nameindex() function, you will - have to use the netlink implementation. - - Most people can safely answer N. - -config KEMBTK_UCLIBC_UCLIBC_SUPPORT_AI_ADDRCONFIG - bool "Support the AI_ADDRCONFIG flag" - depends on KEMBTK_UCLIBC_UCLIBC_USE_NETLINK - default n - help - The implementation of AI_ADDRCONFIG is aligned with the glibc - implementation using netlink to query interfaces to find both - ipv4 and ipv6 support. This is only needed if an application uses - the AI_ADDRCONFIG flag. - - Most people can safely answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_BSD_RES_CLOSE - bool "Support res_close() (bsd-compat)" - default n - help - Answer Y if you desperately want to support BSD compatibility in - the network code. - - Most people will say N. -endif - -comment "----------------" -comment "String and Stdio Support" -comment "----------------" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STRING_GENERIC_OPT - bool "Use faster (but larger) generic string functions" - default y - help - Answer Y to use the (tweaked) glibc generic string functions. - - In general, they are faster (but 3-5K larger) than the base - uClibc string functions which are optimized solely for size. - - Many people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_STRING_ARCH_OPT - bool "Use arch-specific assembly string functions (where available)" - default y - help - Answer Y to use any archtecture-specific assembly language string - functions available for this target plaform. - - Note that assembly implementations are not available for all string - functions, so some generic (written in C) string functions may - still be used. - - These are small and fast, the only reason _not_ to say Y here is - for debugging purposes. - -config KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_TABLES - bool "Use Table Versions Of 'ctype.h' Functions." - default y - help - Answer Y to use table versions of the 'ctype.h' functions. - While the non-table versions are often smaller when building - statically linked apps, they work only in stub locale mode. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_SIGNED - bool "Support Signed Characters In 'ctype.h' Functions." - depends on KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_TABLES - default y - help - Answer Y to enable support for passing signed char values to - the 'ctype.h' functions. ANSI/ISO C99 and SUSv3 specify that - these functions are only defined for unsigned char values and - EOF. However, glibc allows negative signed char values as well - in order to support 'broken old programs'. - - Most people will answer Y. - -choice - prompt "ctype argument checking" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_TABLES - default KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_UNSAFE - help - Please select the invalid arg behavior you want for the 'ctype' - functions. - - The 'ctype' functions are now implemented using table lookups, with - the arg being the index. This can result in incorrect memory accesses - or even segfaults for args outside of the allowed range. - - NOTE: This only affects the 'ctype' _functions_. It does not affect - the macro implementations. - -config KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_UNSAFE - bool "Do not check -- unsafe" - -config KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_CHECKED - bool "Detect and handle appropriately" - -config KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_ENFORCED - bool "Issue a diagnostic and abort()" - -endchoice - -config KEMBTK_UCLIBC_UCLIBC_HAS_WCHAR - bool "Wide Character Support" - default n - help - Answer Y to enable wide character support. This will make uClibc - much larger. It is also currently required for locale support. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_LOCALE - bool "Locale Support" - select KEMBTK_UCLIBC_UCLIBC_HAS_WCHAR - select KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_TABLES - default n - help - uClibc now has full ANSI/ISO C99 locale support (except for - wcsftime() and collating items in regex). Be aware that enabling - this option will make uClibc much larger. - - Enabling UCLIBC_HAS_LOCALE with the default set of supported locales - (169 UTF-8 locales, and 144 locales for other codesets) will enlarge - uClibc by around 300k. You can reduce this size by building your own - custom set of locate data (see extra/locale/LOCALES for details). - - uClibc's locale support is still under development. For example, - codesets using shift states are not currently supported. Support is - planned in the next iteration of locale support. - - Answer Y to enable locale support. Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_PREGENERATED_LOCALE_DATA - bool "Use Pre-generated Locale Data" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_LOCALE - default n - help - Use pre-built locale data. - - Note that these pregenerated locales are sensitive to your - target architecture (endianess, bitcount). - - Saying N here is highly recommended unless you have a cached - set of prebuilt data. - -config KEMBTK_UCLIBC_UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA - bool "Automagically Download the Pre-generated Locale Data (if necessary)" - depends on KEMBTK_UCLIBC_UCLIBC_PREGENERATED_LOCALE_DATA - default n - help - If you would like the build process to use 'wget' to automatically - download the pregenerated locale data, enable this option. Otherwise - you will need to obtain the locale data yourself from: - http://www.uclibc.org/downloads/uClibc-locale-*.tgz - and place the uClibc-locale-*.tgz tarball in the extra/locale/ - directory. - - Just say N here. - -config KEMBTK_UCLIBC_UCLIBC_HAS_XLOCALE - bool "Extended Locale Support (experimental/incomplete)" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_LOCALE - default n - help - Answer Y to enable extended locale support similar to that provided - by glibc. This is primarily intended to support libstd++ - functionality. - However, it also allows thread-specific locale selection via - uselocale(). - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_HEXADECIMAL_FLOATS - bool "Support hexadecimal float notation" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_CTYPE_TABLES - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS - default n - help - Answer Y to enable support for hexadecimal float notation in the - (wchar and) char string to floating point conversion functions, as - well as support for the %a and %A conversion specifiers in the - *printf() and *scanf() functions. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GLIBC_DIGIT_GROUPING - bool "Support glibc's \"'\" flag for allowing locale-specific digit grouping" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_LOCALE - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS - default n - help - Answer Y to enable support for glibc's \"'\" flag for allowing - locale-specific digit grouping in base 10 integer conversions and - appropriate floating point conversions in the *printf() and *scanf() - functions. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING - bool "Do not require digit grouping when the \"'\" flag is specified" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_GLIBC_DIGIT_GROUPING - default y - help - Answer Y to make digit grouping optional when the \"'\" flag is - specified. - This is the standard glibc behavior. If the initial string of digits - exceeds the maximum group number, the input will be treated as a - normal non-grouped number. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GLIBC_CUSTOM_PRINTF - bool "Support glibc's register_printf_function() (glibc-compat)" - depends on !KEMBTK_UCLIBC_USE_OLD_VFPRINTF - default n - help - Answer Y to support glibc's register_printf_function() to allow an - application to add its own printf conversion specifiers. - - NOTE: Limits the number or registered specifiers to 10. - NOTE: Requires new conversion specifiers to be ASCII - characters (0-0x7f). This is to avoid problems with processing - format strings in locales with different multibyte conversions. - - Most people will answer N. - -config KEMBTK_UCLIBC_USE_OLD_VFPRINTF - bool "Use the old vfprintf implementation" - depends on !KEMBTK_UCLIBC_UCLIBC_HAS_WCHAR - default n - help - Set to true to use the old vfprintf instead of the new. This is - roughly C89 compliant with some extensions, and is much smaller. - However, it does not support wide chars, positional args, or glibc - custom printf specifiers. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS - int "Maximum number of positional args. Either 0 or >= 9." - depends on !KEMBTK_UCLIBC_USE_OLD_VFPRINTF - default 9 - help - Set the maximum number of positional args supported by the - printf/scanf functions. The Single Unix Specification Version 3 - requires a minimum value of 9. Setting this to a value lower than - 9 will disable positional arg support and cause the NL_ARGMAX macro - in limits.h to be #undef'd. - - WARNING! The workspace to support positional args is currently - allocated on the stack. You probably don't want to set - this to too high a value. - - Most people will answer 9. - - -config KEMBTK_UCLIBC_UCLIBC_HAS_SCANF_GLIBC_A_FLAG - bool "Support glibc's 'a' flag for scanf string conversions (not implemented)" - default n - help - NOTE!!! Currently Not Implemented!!! Just A Place Holder!! NOTE!!! - NOTE!!! Conflicts with an ANSI/ISO C99 scanf flag!! NOTE!!! - - Answer Y to enable support for glibc's 'a' flag for the scanf string - conversions '%s', '%[', '%ls', '%l[', and '%S'. This is used to - auto-allocate sufficient memory to hold the data retrieved. - - Most people will answer N. - -choice - prompt "Stdio buffer size" - default KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_4096 - help - Please select a value for BUFSIZ. This will be used by the - stdio subsystem as the default buffer size for a file, and - affects fopen(), setvbuf(), etc. - - NOTE: Setting this to 'none' will disable buffering completely. - However, BUFSIZ will still be defined in stdio.h as 256 because - many applications use this value. - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_NONE - bool "none (WARNING - BUFSIZ will be 256 in stdio.h)" - depends on !KEMBTK_UCLIBC_UCLIBC_HAS_WCHAR - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_256 - bool "256 (minimum ANSI/ISO C99 value)" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_512 - bool "512" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_1024 - bool "1024" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_2048 - bool "2048" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_4096 - bool "4096" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_8192 - bool "8192" - -# If you add more choices, you will need to update uClibc_stdio.h. - -endchoice - -choice - prompt "Stdio builtin buffer size (uClibc-specific)" - depends on !KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_NONE - default KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE - help - When a FILE is created with fopen(), an attempt is made to allocate - a BUFSIZ buffer for it. If the allocation fails, fopen() will still - succeed but the FILE will be unbuffered. - - This option adds a small amount of space to each FILE to act as an - emergency buffer in the event of a buffer allocation failure. - - Most people will answer None. - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE - bool "None" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 - bool "4" - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 - bool "8" - -# If you add more choices, you will need to update uClibc_stdio.h. - -endchoice - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT - bool "Attempt to shutdown stdio subsystem when abort() is called." - default n - help - ANSI/ISO C99 requires abort() to be asyn-signal-safe. So there was - a behavioral change made in SUSv3. Previously, abort() was required - to have the affect of fclose() on all open streams. The wording has - been changed to "may" from "shall". - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_GETC_MACRO - bool "Provide a macro version of getc()" - depends on !KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_NONE - default y - help - Provide a macro version of getc(). - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_PUTC_MACRO - bool "Provide a macro version of putc()" - depends on !KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_BUFSIZ_NONE - default y - help - Provide a macro version of putc(). - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION - bool "Support auto-r/w transition" - default y - help - Answer Y to enable the stdio subsystem to automaticly transition - between reading and writing. This relaxes the ANSI/ISO C99 - requirement: - - When a file is opened with update mode ('+' as the second or third - character in the list of mode argument values), both input and output - may be performed on the associated stream. However, output shall not - be directly followed by input without an intervening call to the - fflush function or to a file positioning function (fseek, fsetpos, - or rewind), and input shall not be directly followed by output without - an intervening call to a file positioning function, unless the input - operation encounters end­of­file. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FOPEN_LARGEFILE_MODE - bool "Support an fopen() 'F' flag for large file mode (uClibc-specific)" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_LFS - default n - help - Answer Y to enable a uClibc-specific extension to allow passing an - additional 'F' flag in the mode string for fopen() to specify that - the file should be open()ed with the O_LARGEFILE flag set. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE - bool "Support an fopen() 'x' flag for exclusive mode (glibc-compat)" - default n - help - Answer Y to support a glibc extension to allow passing - additional 'x' flag in the mode string for fopen() to specify that - the file should be open()ed with the O_EXCL flag set. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GLIBC_CUSTOM_STREAMS - bool "Support fmemopen(), open_memstream(), and fopencookie() (glibc-compat)" - default n - help - Answer Y to support the glibc 'custom stream' extension functions - fmemopen(), open_memstream(), and fopencookie(). - - NOTE: There are some minor differences regarding seeking behavior. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_PRINTF_M_SPEC - bool "Support the '%m' specifier in printf format strings (glibc-compat)" - default n - help - Answer Y to support a glibc extension to interpret '%m' in printf - format strings as an instruction to output the error message string - (as generated by strerror) corresponding to the current value of - 'errno'. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_ERRNO_MESSAGES - bool "Include the errno message text in the library" - default y - help - Answer Y if you want to include the errno message text in the - library. This adds about 3K to the library, but enables strerror() - to generate text other than 'Unknown error '. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_SYS_ERRLIST - bool "Support sys_errlist[] (obsolete-compat)" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_ERRNO_MESSAGES - default n - help - Answer Y if you want to support the obsolete sys_errlist[]. - This adds about 0.5k to the library, except for the mips - arch where it adds over 4K. - - WARNING! In the future, support for sys_errlist[] may be unavailable - in at least some configurations. In fact, it may be removed - altogether. - - Most people will answer N. - - Application writers: use the strerror(3) function. - -config KEMBTK_UCLIBC_UCLIBC_HAS_SIGNUM_MESSAGES - bool "Include the signum message text in the library" - default y - help - Answer Y if you want to include the signum message text in the - library. This adds about 0.5K to the library, but enables strsignal() - to generate text other than 'Unknown signal '. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_SYS_SIGLIST - bool "Support sys_siglist[] (bsd-compat)" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_SIGNUM_MESSAGES - default n - help - Answer Y if you want to support sys_siglist[]. - - WARNING! In the future, support for sys_siglist[] may be unavailable - in at least some configurations. In fact, it may be removed - altogether. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GETTEXT_AWARENESS - bool "Include gettext awareness" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_LOCALE \ - && KEMBTK_UCLIBC_UCLIBC_MJN3_ONLY - default n - help - NOTE!!! Not yet integrated with strerror and strsignal. NOTE!!! - - Answer Y if you want to include weak stub gettext support and - make the *strerror*() and strsignal() functions gettext-aware. - - Currently, to get functional gettext functionality you will need - to use gnu gettext. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GNU_GETOPT - bool "Support gnu getopt" - default y - help - Answer Y if you want to include full gnu getopt() instead of a - (much smaller) SUSv3 compatible getopt(). - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GETOPT_LONG - bool "Support getopt_long/getopt_long_only" - depends on !KEMBTK_UCLIBC_UCLIBC_HAS_GNU_GETOPT - default y - help - Answer Y if you want to include getopt_long[_only() used by many - apps, even busybox. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GNU_GETSUBOPT - bool "Support glibc getsubopt" - default y - help - Answer Y if you want to include glibc getsubopt() instead of a - smaller SUSv3 compatible getsubopt(). - - Most people will answer Y. -comment "----------------" -comment "Big and Tall" -comment "----------------" - -config KEMBTK_UCLIBC_UCLIBC_HAS_REGEX - bool "Regular Expression Support" - default y - help - POSIX regular expression code is really big -- 53k all by itself. - If you don't use regular expressions, turn this off and save space. - Of course, if you only statically link, leave this on, since it will - only be included in your apps if you use regular expressions. - -config KEMBTK_UCLIBC_UCLIBC_HAS_REGEX_OLD - bool "Use the older (stable) regular expression code" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_REGEX - default y - help - There are two versions of regex. The older (stable) version has - been in uClibc for quite a long time but hasn't seen too many - updates. It also has some known issues when dealing with uncommon - corner cases and multibyte/unicode strings. However, it is quite - a bit smaller than the newer version. - - If the older version has worked for you and you don't need unicode - support, then stick with the old version (and say Y here). - Otherwise, you should use the new version (and say N here). - -config KEMBTK_UCLIBC_UCLIBC_HAS_FNMATCH - bool "fnmatch Support" - default y - help - POSIX fnmatch. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FNMATCH_OLD - bool "Use the older (stable) fnmatch code" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FNMATCH - default y - help - There are two versions of fnmatch. The older (stable) version has - been in uClibc for quite a long time but hasn't seen too many - updates. It also has some known issues when dealing with uncommon - corner cases and multibyte/unicode strings. However, it is quite - a bit smaller than the newer version. - - If the older version has worked for you and you don't need unicode - support, then stick with the old version (and say Y here). - Otherwise, you should use the new version (and say N here). - -config KEMBTK_UCLIBC_UCLIBC_HAS_WORDEXP - bool "Support the wordexp() interface" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_GLOB - default n - help - The SuSv3 wordexp() interface performs word expansions per the Shell - and Utilities volume of IEEE Std 1003.1-2001, Section 2.6. It is - intended for use by applications that want to implement all of the - standard Bourne shell expansions on input data. - - This interface is rarely used, and very large. Unless you have a - pressing need for wordexp(), you should probably answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_FTW - bool "Support the ftw() and nftw() interfaces" - default n - help - The SuSv3 ftw() and nftw() interfaces are used to recursively descend - directory paths while repeatedly calling a function. - - This interface is rarely used, and adds around 4.5k. Unless you have - a pressing need for ftw() or nftw(), you should probably answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GLOB - bool "Support the glob() interface" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_FNMATCH - default y - help - - The glob interface is somewhat large (weighing in at about 2,5k). It - is used fairly often, but is an option since people wanting to go for - absolute minimum size may wish to omit it. - - Most people will answer Y. - -config KEMBTK_UCLIBC_UCLIBC_HAS_GNU_GLOB - bool "Support gnu glob() interface" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_GLOB - default n - help - The gnu glob interface is somewhat larger (weighing in at about 4,2k) - than it's SuSv3 counterpart (and is out of date). It is an old copy - from glibc and does not support all the GNU specific options. - - Answer Y if you want to include full gnu glob() instead of the smaller - SUSv3 compatible glob(). - - Most people will answer N. - -comment "----------------" -comment "Library Installation Options" -comment "----------------" -config KEMBTK_UCLIBC_SHARED_LIB_LOADER_PREFIX - string - depends on KEMBTK_UCLIBC_HAVE_SHARED - default "$(RUNTIME_PREFIX)lib" - help - When using shared libraries, this path is the location where the - shared library will be invoked. This value will be compiled into - every binary compiled with uClibc. - - For a typical target system this should be set to "/lib", such that - 'make install' will install /lib/ld-uClibc.so.0. - - BIG FAT WARNING: - If you do not have a shared library loader with the correct name - sitting in the directory this points to, your binaries will not - run. - -config KEMBTK_UCLIBC_RUNTIME_PREFIX - string - default "/usr/$(TARGET_ARCH)-linux-uclibc/" - help - RUNTIME_PREFIX is the directory into which the uClibc runtime - libraries will be installed. The result will look something - like the following: - $(RUNTIME_PREFIX)/ - lib/ - usr/bin/ldd - sbin/ldconfig - This value is used by the 'make install' Makefile target. Since this - directory is compiled into the shared library loader, you will need to - recompile uClibc if you change this value... - - For a typical target system this should be set to "/", such that - 'make install' will install /lib/libuClibc-.so - -config KEMBTK_UCLIBC_DEVEL_PREFIX - string - default "/usr/$(TARGET_ARCH)-linux-uclibc/usr/" - help - DEVEL_PREFIX is the directory into which the uClibc development - environment will be installed. The result will look something - like the following: - $(DEVEL_PREFIX)/ - lib/ - include/ - This value is used by the 'make install' Makefile target when - installing a uClibc development environment. - - For a typical target system this should be set to "/usr", such that - 'make install' will install /usr/include/
. - -comment "----------------" -comment "Security options" -comment "----------------" - -config KEMBTK_UCLIBC_UCLIBC_BUILD_PIE - bool "Build utilities as ET_DYN/PIE executables" - depends on KEMBTK_UCLIBC_HAVE_SHARED - depends on KEMBTK_UCLIBC_TARGET_arm || KEMBTK_UCLIBC_TARGET_frv \ - || KEMBTK_UCLIBC_TARGET_i386 || KEMBTK_UCLIBC_TARGET_mips \ - || KEMBTK_UCLIBC_TARGET_powerpc - select KEMBTK_UCLIBC_FORCE_SHAREABLE_TEXT_SEGMENTS - default n - help - If you answer Y here, ldd and iconv are built as ET_DYN/PIE - executables. - - It requires gcc-3.4 and binutils-2.15 (for arm 2.16) or later. - More about ET_DYN/PIE binaries on . - - WARNING: This option also enables FORCE_SHAREABLE_TEXT_SEGMENTS, so - all libraries have to be built with -fPIC or -fpic, and all - assembler functions must be written as position independent - code (PIC). - -config KEMBTK_UCLIBC_UCLIBC_HAS_ARC4RANDOM - bool "Include the arc4random() function" - default n - help - Answer Y to support the OpenBSD-like arc4random() function. This - function picks a random number between 0 and N, and will always return - something even if the random driver is dead. If urandom fails then - gettimeofday(2) will be used as the random seed. This function is - designed to be more dependable than invoking /dev/urandom directly. - OpenSSL and OpenNTPD currently support this function. - - Most people will answer N. - -config KEMBTK_UCLIBC_HAVE_NO_SSP - bool - default n - -config KEMBTK_UCLIBC_UCLIBC_HAS_SSP - bool "Support for GCC stack smashing protector" - depends on !KEMBTK_UCLIBC_HAVE_NO_SSP - default n - help - Add code to support GCC's -fstack-protector[-all] option to uClibc. - This requires GCC 4.1 or newer. GCC does not have to provide libssp, - the needed functions are added to ldso/libc instead. - - GCC's stack protector is a reimplementation of IBM's propolice. - See http://www.trl.ibm.com/projects/security/ssp/ and - http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt - for details. - - Note that NOEXECSTACK on a kernel with address space randomization - is generally sufficient to prevent most buffer overflow exploits - without increasing code size. This option essentially adds debugging - code to catch them. - - Most people will answer N. - -config KEMBTK_UCLIBC_UCLIBC_HAS_SSP_COMPAT - bool "Support for gcc-3.x propolice smashing stack protector" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_SSP - default n - help - Add gcc-3.x propolice smashing stack protector to the library. - - This requires a patched version of GCC, supporting the - -fstack-protector[-all] options, with the __guard and - __stack_smash_handler functions removed from libgcc. - These functions are added to ldso/libc instead. - - More information at: - - - Most people will answer N. - -config KEMBTK_UCLIBC_SSP_QUICK_CANARY - bool "Use simple guard values without accessing /dev/urandom" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_SSP - default n - help - Use gettimeofday(2) to define the __guard without accessing - /dev/urandom. - WARNING: This makes smashing stack protector vulnerable to timing - attacks. - Most people will answer N. - -choice - prompt "Propolice protection blocking signal" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_SSP - default KEMBTK_UCLIBC_PROPOLICE_BLOCK_ABRT if ! KEMBTK_UCLIBC_DODEBUG - default KEMBTK_UCLIBC_PROPOLICE_BLOCK_SEGV if KEMBTK_UCLIBC_DODEBUG - help - "abort" use SIGABRT to block offending programs. - This is the default implementation. - - "segfault" use SIGSEGV to block offending programs. - Use this for debugging. - - If unsure, answer "abort". - -config KEMBTK_UCLIBC_PROPOLICE_BLOCK_ABRT - bool "abort" - -config KEMBTK_UCLIBC_PROPOLICE_BLOCK_SEGV - bool "segfault" - -endchoice - -config KEMBTK_UCLIBC_UCLIBC_BUILD_SSP - bool "Build uClibc with -fstack-protector" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_SSP - default n - help - Build all uClibc libraries and executables with -fstack-protector, - adding extra stack overflow checking to most uClibc functions. - -config KEMBTK_UCLIBC_UCLIBC_BUILD_RELRO - bool "Build uClibc with linker option -z RELRO" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default y - help - Build all libraries and executables with "ld -z relro". - - This tells the linker to mark chunks of an executable or shared - library read-only after applying dynamic relocations. (This comes - up when a global const variable is initialized to the address of a - function or the value of another global variable.) - - This is a fairly obscure option the ld man page doesn't even bother - to document properly. It's a security paranoia issue that's more - likely to consume memory (by allocating an extra page) rather than - save it. - - This is explained in more depth at - http://www.airs.com/blog/archives/189 - - Nobody is likely to care whether you say Y or N here. - -config KEMBTK_UCLIBC_UCLIBC_BUILD_NOW - bool "Build uClibc with linker option -z NOW" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default n - help - Build all libraries and executables with "ld -z now". - - This tells the linker to resolve all symbols when the library is - first loaded, rather than when each function is first called. This - increases start-up latency by a few microseconds and may do - unnecessary work (resolving symbols that are never used), but the - realtime people like it for making microbenchmark timings slightly - more predictable and in some cases it can be slightly faster due to - CPU cache behavior (not having to fault the linker back in to do - lazy symbol resolution). - - Most people can't tell the difference between selecting Y or N here. - -config KEMBTK_UCLIBC_UCLIBC_BUILD_NOEXECSTACK - bool "Build uClibc with noexecstack marking" - default y - help - Mark all assembler files as noexecstack, which will mark uClibc - as not requiring an executable stack. (This doesn't prevent other - files you link against from claiming to need an executable stack, it - just won't cause uClibc to request it unnecessarily.) - - This is a security thing to make buffer overflows harder to exploit. - By itself, it's kind of useless, as Linus Torvalds explained in 1998: - http://old.lwn.net/1998/0806/a/linus-noexec.html - - It only actually provides any security when combined with address - space randomization, explained here: http://lwn.net/Articles/121845/ - - Address space randomization is on by default in current linux - kernels (although it can be disabled using the option - CONFIG_COMPAT_BRK). - - You should probably say Y. - -comment "----------------" -comment "uClibc development/debugging options" -comment "----------------" - -config KEMBTK_UCLIBC_CROSS_COMPILER_PREFIX - string - default "" - help - The prefix used to execute your cross-compiling toolchain. For - example, if you run 'arm-linux-uclibc-gcc' to compile something, - then enter 'arm-linux-uclibc-' here. - -config KEMBTK_UCLIBC_UCLIBC_EXTRA_CFLAGS - string - default "" - help - Add any additional CFLAGS to be used to build uClibc. - -config KEMBTK_UCLIBC_DODEBUG - bool "Build uClibc with debugging symbols" - default n - select KEMBTK_UCLIBC_EXTRA_WARNINGS - help - Say Y here if you wish to compile uClibc with debugging symbols. - This will allow you to use a debugger to examine uClibc internals - while applications are running. This increases the size of the - library considerably and should only be used when doing development. - If you are doing development and want to debug uClibc, answer Y. - - Otherwise, answer N. - -config KEMBTK_UCLIBC_DODEBUG_PT - bool "Build pthread with debugging output" - depends on KEMBTK_UCLIBC_UCLIBC_HAS_THREADS \ - && KEMBTK_UCLIBC_LINUXTHREADS_OLD - default n - help - Enable debug output in libpthread. This is only useful when doing - development in libpthread itself. - - Otherwise, answer N. - -config KEMBTK_UCLIBC_DOSTRIP - bool "Strip libraries and executables" - default y - depends on !KEMBTK_UCLIBC_DODEBUG - help - Say Y here if you do wish to strip all uClibc libraries and - executables. No stripping increases the size of the binaries - considerably, but makes it possible to debug uClibc libraries. - Most people will answer Y. - -config KEMBTK_UCLIBC_DOASSERTS - bool "Build uClibc with run-time assertion testing" - default n - help - Say Y here to include runtime assertion tests. - This enables runtime assertion testing in some code, which can - increase the size of the library and incur runtime overhead. - If you say N, then this testing will be disabled. - -config KEMBTK_UCLIBC_SUPPORT_LD_DEBUG - bool "Build the shared library loader with debugging support" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default n - help - Answer Y here to enable all the extra code needed to debug the uClibc - native shared library loader. The level of debugging noise that is - generated depends on the LD_DEBUG environment variable... Just set - LD_DEBUG to something like: 'LD_DEBUG=token1,token2,.. prog' to - debug your application. Diagnostic messages will then be printed to - the stderr. - - For now these debugging tokens are available: - detail provide more information for some options - move display copy processing - symbols display symbol table processing - reloc display relocation processing; detail shows the - relocation patch - nofixups never fixes up jump relocations - bindings displays the resolve processing (function calls); - detail shows the relocation patch - all Enable everything! - - The additional environment variable: - LD_DEBUG_OUTPUT=file - redirects the diagnostics to an output file created using - the specified name and the process id as a suffix. - - An excellent start is simply: - $ LD_DEBUG=binding,move,symbols,reloc,detail ./appname - or to log everything to a file named 'logfile', try this - $ LD_DEBUG=all LD_DEBUG_OUTPUT=logfile ./appname - - If you are doing development and want to debug uClibc's shared library - loader, answer Y. Mere mortals answer N. - -config KEMBTK_UCLIBC_SUPPORT_LD_DEBUG_EARLY - bool "Build the shared library loader with early debugging support" - depends on KEMBTK_UCLIBC_HAVE_SHARED - default n - help - Answer Y here to if you find the uClibc shared library loader is - crashing or otherwise not working very early on. This is typical - only when starting a new port when you haven't figured out how to - properly get the values for argc, argv, environ, etc. This method - allows a degree of visibility into the very early shared library - loader initialization process. If you are doing development and want - to debug the uClibc shared library loader early initialization, - answer Y. Mere mortals answer N. - -config KEMBTK_UCLIBC_UCLIBC_MALLOC_DEBUGGING - bool "Build malloc with debugging support" - depends on KEMBTK_UCLIBC_MALLOC || KEMBTK_UCLIBC_MALLOC_STANDARD - default n - help - Answer Y here to compile extra debugging support code into malloc. - Malloc debugging output may then be enabled at runtime using the - MALLOC_DEBUG environment variable. - - The value of MALLOC_DEBUG should be an integer, which is interpreted - as a bitmask with the following bits: - 1 - do extra consistency checking - 2 - output messages for malloc/free calls and OS - allocation calls - 4 - output messages for the `MMB' layer - 8 - output messages for internal malloc heap manipulation - calls - - Because this increases the size of malloc appreciably (due to strings - etc), you should say N unless you need to debug a malloc problem. - -config KEMBTK_UCLIBC_WARNINGS - string "Compiler Warnings" - default "-Wall" - help - Set this to the set of gcc warnings you wish to see while compiling. - -config KEMBTK_UCLIBC_EXTRA_WARNINGS - bool "Enable extra annoying warnings" - default n - help - If you wish to build with extra warnings enabled, say Y here. - -config KEMBTK_UCLIBC_DOMULTI - bool "Compile all sources at once into an object" - default n - help - Set this to compile all sources at once into an object (IMA). - This mode of compilation uses alot of memory but may produce - smaller binaries. - - Note that you need a very recent GCC for this to work, like - gcc >= 4.3 plus eventually some patches. - - If unsure, keep the default of N. - -config KEMBTK_UCLIBC_UCLIBC_MJN3_ONLY - bool "Manuel's hidden warnings" - default n - help - Answer Y here to see all Manuel's personal notes, warnings, and todos. - - Most people will answer N. - -- cgit v1.2.3