diff options
Diffstat (limited to 'extra/Configs')
| -rw-r--r-- | extra/Configs/Config.aarch64 | 1 | ||||
| -rw-r--r-- | extra/Configs/Config.arm | 1 | ||||
| -rw-r--r-- | extra/Configs/Config.i386 | 1 | ||||
| -rw-r--r-- | extra/Configs/Config.in | 73 | ||||
| -rw-r--r-- | extra/Configs/Config.in.arch | 46 | ||||
| -rw-r--r-- | extra/Configs/Config.kvx | 19 | ||||
| -rw-r--r-- | extra/Configs/Config.mips | 1 | ||||
| -rw-r--r-- | extra/Configs/Config.nds32 | 1 | ||||
| -rw-r--r-- | extra/Configs/Config.riscv32 | 14 | ||||
| -rwxr-xr-x[-rw-r--r--] | extra/Configs/Config.x86_64 | 1 | 
10 files changed, 126 insertions, 32 deletions
| diff --git a/extra/Configs/Config.aarch64 b/extra/Configs/Config.aarch64 index d666cc595..6074878f2 100644 --- a/extra/Configs/Config.aarch64 +++ b/extra/Configs/Config.aarch64 @@ -13,6 +13,7 @@ config FORCE_OPTIONS_FOR_ARCH  	select ARCH_ANY_ENDIAN  	select ARCH_HAS_MMU  	select ARCH_USE_MMU +	select ARCH_VDSO_SUPPORT  	select UCLIBC_HAS_FPU  choice diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm index 0d02e3f10..ea8ab4895 100644 --- a/extra/Configs/Config.arm +++ b/extra/Configs/Config.arm @@ -13,6 +13,7 @@ config FORCE_OPTIONS_FOR_ARCH  	select ARCH_ANY_ENDIAN  	select ARCH_HAS_UCONTEXT  	select ARCH_HAS_DEPRECATED_SYSCALLS +	select ARCH_VDSO_SUPPORT  config CONFIG_ARM_EABI  	bool "Build for EABI" diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386 index c928ac1a2..c2a9a6e93 100644 --- a/extra/Configs/Config.i386 +++ b/extra/Configs/Config.i386 @@ -14,6 +14,7 @@ config FORCE_OPTIONS_FOR_ARCH  	select ARCH_HAS_MMU  	select ARCH_HAS_UCONTEXT  	select ARCH_HAS_DEPRECATED_SYSCALLS +	select ARCH_VDSO_SUPPORT  choice  	prompt "Target x86 Processor Family" diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 1c41d77ff..454b6ddb8 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -39,6 +39,7 @@ choice  	default TARGET_or1k if DESIRED_TARGET_ARCH = "or1k"  	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc"  	default TARGET_riscv64 if DESIRED_TARGET_ARCH = "riscv64" +	default TARGET_riscv32 if DESIRED_TARGET_ARCH = "riscv32"  	default TARGET_sh if DESIRED_TARGET_ARCH = "sh"  	default TARGET_sparc if DESIRED_TARGET_ARCH = "sparc"  	default TARGET_sparc64 if DESIRED_TARGET_ARCH = "sparc64" @@ -125,6 +126,9 @@ config TARGET_powerpc  config TARGET_riscv64  	bool "riscv64" +config TARGET_riscv32 +	bool "riscv32" +  config TARGET_sh  	bool "superh" @@ -160,6 +164,7 @@ config TARGET_ARCH_BITS  	default 64 if TARGET_aarch64  	default 64 if TARGET_ia64  	default 64 if TARGET_powerpc64 +	default 64 if TARGET_riscv64  	default 64 if TARGET_sparc64  	default 64 if TARGET_x86_64  	default 64 if TARGET_kvx @@ -260,6 +265,10 @@ if TARGET_riscv64  source "extra/Configs/Config.riscv64"  endif +if TARGET_riscv32 +source "extra/Configs/Config.riscv32" +endif +  if TARGET_sh  source "extra/Configs/Config.sh"  endif @@ -325,8 +334,10 @@ config STATIC_PIE  	bool "Add support for Static Position Independent Executables (PIE)"  	default n  	depends on DOPIC && !UCLIBC_FORMAT_FDPIC_ELF && \ -		(TARGET_arm || TARGET_i386 || TARGET_x86_64 || TARGET_aarch64 || \ -		 TARGET_mips || TARGET_xtensa || TARGET_powerpc) +		(TARGET_aarch64 || TARGET_arm || TARGET_i386 || \ +		 TARGET_m68k || TARGET_mips || TARGET_powerpc || \ +		 TARGET_riscv32 || TARGET_riscv64 || TARGET_x86_64 \ +		|| TARGET_xtensa)  config ARCH_HAS_NO_SHARED  	bool @@ -338,9 +349,13 @@ config ARCH_HAS_NO_LDSO  config ARCH_HAS_UCONTEXT  	bool +config HAVE_LDSO +	bool +  config HAVE_SHARED  	bool "Enable shared libraries"  	depends on !ARCH_HAS_NO_SHARED +	select HAVE_LDSO  	default y  	help  	  If you wish to build uClibc with support for shared libraries then @@ -447,6 +462,22 @@ config LDSO_PRELINK_SUPPORT  	  time. It also is able to load and handle prelinked libraries and  	  binaries at runtime. +config ARCH_VDSO_SUPPORT +	bool +	 +config VDSO_SUPPORT +	bool "Dynamic linker vDSO support" +	depends on ARCH_VDSO_SUPPORT +	help +	  Enable this option to support vDSO loading + +	  vDSO provides access to some kernel function without a systemcall +	  if provided by the kernel + +	  most archs support gettimeofday() and clock_gettime() + +	  vDSO loading can be disabled via VDSO_DISABLE environment variable +  config UCLIBC_STATIC_LDCONFIG  	bool "Link ldconfig statically"  	depends on HAVE_SHARED @@ -514,8 +545,8 @@ config LDSO_LD_LIBRARY_PATH  	  If unsure, simply say Y here.  config UCLIBC_CTOR_DTOR -	bool -	default y if !TARGET_riscv64 +	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. @@ -564,7 +595,6 @@ config UCLIBC_HAS_LINUXTHREADS  	# linuxthreads need nanosleep()  	select UCLIBC_HAS_REALTIME  	depends on !TARGET_aarch64 && \ -		   !TARGET_riscv64 && \  		   !TARGET_metag  	help  	  If you want to compile uClibc with Linuxthreads support, then answer Y. @@ -585,7 +615,7 @@ config UCLIBC_HAS_THREADS_NATIVE  		   !TARGET_h8300 && \  		   !TARGET_hppa && \  		   !TARGET_ia64 && \ -		   (ARCH_USE_MMU || TARGET_arm) +		   (ARCH_USE_MMU || TARGET_arm || TARGET_xtensa)  	help  	  If you want to compile uClibc with NPTL support, then answer Y. @@ -619,6 +649,15 @@ config PTHREADS_DEBUG_SUPPORT  	  If you are doing development and want to debug applications using  	  uClibc's pthread library, answer Y.  Otherwise, answer N. +config PTHREADS_STACK_DEFAULT_SIZE +	int "Default thread stack size" +	default 4194304 if TARGET_alpha # 4 MiB +	default 4194304 if TARGET_powerpc # 4 MiB +	default 2097152 # 2 MiB +	help +	  Set the default thread stack size. This option is useful on MMU-less +	  systems where the stack size is fixed and the default stack size may +	  be excessively large and waste memory.  config UCLIBC_HAS_SYSLOG  	bool "Syslog support" @@ -985,6 +1024,27 @@ config UCLIBC_FALLBACK_TO_ETC_LOCALTIME  	  Most people will answer Y. +config UCLIBC_USE_TIME64 +	bool "Use *time64 syscalls instead of 32bit ones (if possible)" +	depends on TARGET_arc                            || \ +		   TARGET_arm                            || \ +		   TARGET_csky                           || \ +		   TARGET_i386                           || \ +		   TARGET_m68k                           || \ +		   TARGET_microblaze                     || \ +		   (TARGET_mips && !CONFIG_MIPS_N64_ABI) || \ +		   TARGET_or1k                           || \ +		   TARGET_powerpc                        || \ +		   TARGET_riscv32                        || \ +		   TARGET_sparc                          || \ +		   TARGET_sh                             || \ +		   TARGET_xtensa +	# TODO: add support for other architectures +	default y + +	help +	  Replace 32bit syscalls to their 64/time64 analog if possible. +  endmenu  menu "Advanced Library Settings" @@ -2312,6 +2372,7 @@ config SUPPORT_LD_DEBUG  	    nofixups      never fixes up jump relocations  	    bindings      displays the resolve processing (function calls);  	                  detail shows the relocation patch +	    vdso          display vdso symbol table processing  	    all           Enable everything!  	  The additional environment variable: diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch index 91b639493..24c0db157 100644 --- a/extra/Configs/Config.in.arch +++ b/extra/Configs/Config.in.arch @@ -10,9 +10,17 @@  if !ARCH_USE_MMU  choice  	prompt "Target File Format" +config UCLIBC_FORMAT_ELF +	bool "ELF (using ELF_FDPIC loader)" +	depends on !ARCH_USE_MMU && (TARGET_arm || TARGET_m68k || \ +				     TARGET_riscv32 || TARGET_riscv64) +	select DOPIC +	select STATIC_PIE +	select ARCH_HAS_NO_SHARED +	select HAVE_LDSO  config UCLIBC_FORMAT_FDPIC_ELF  	bool "FDPIC ELF" -	depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm) +	depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm || TARGET_xtensa)  	select DOPIC  config UCLIBC_FORMAT_DSBT_ELF  	bool "DBST ELF" @@ -26,13 +34,6 @@ config UCLIBC_FORMAT_FLAT_SEP_DATA  	bool "STATIC FLAT (sep-data)"  	depends on !ARCH_USE_MMU && !TARGET_frv  	select ARCH_HAS_NO_LDSO -config UCLIBC_FORMAT_SHARED_FLAT -	bool "SHARED FLAT" -	depends on !ARCH_USE_MMU && !TARGET_frv -	select 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 ARCH_USE_MMU @@ -47,24 +48,6 @@ config ARCH_HAS_DEPRECATED_SYSCALLS  	  this symbol controls whether there is support for these threading libraries  	  or not. -config UCLIBC_SHARED_FLAT_ID -	int "Shared library ID" -	default 1 -	depends on 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  # @@ -181,9 +164,20 @@ config UCLIBC_HAS_FENV  	bool "Enable C99 Floating-point environment"  	depends on UCLIBC_HAS_FLOATS  	depends on TARGET_i386 || \ +		   TARGET_aarch64 || \ +		   TARGET_arc || \ +		   TARGET_arm || \ +		   TARGET_csky || \ +		   TARGET_m68k || \  		   TARGET_metag || \ +		   TARGET_mips || \  		   TARGET_nds32 || \ +		   TARGET_or1k || \  		   (TARGET_powerpc && CONFIG_E500) || \ +		   TARGET_riscv32 || \ +		   TARGET_riscv64 || \ +		   (TARGET_sh && (CONFIG_SH4 || CONFIG_SH4A)) || \ +		   TARGET_sparc || \  		   TARGET_x86_64  	help  	  If you want the uClibc math library to contain the C99 floating diff --git a/extra/Configs/Config.kvx b/extra/Configs/Config.kvx index 398ffceaa..4d8152ab9 100644 --- a/extra/Configs/Config.kvx +++ b/extra/Configs/Config.kvx @@ -7,11 +7,30 @@ config TARGET_ARCH  	string  	default "kvx" +choice +	prompt "Target architecture variant" +	help +		Select CPU variant to use + +config CONFIG_KVX_COOLIDGE_V1 +        bool "Coolidge V1" + +config CONFIG_KVX_COOLIDGE_V2 +        bool "Coolidge V2" + +endchoice + +config TARGET_MARCH +	string +	default "kv3-1" if CONFIG_KVX_COOLIDGE_V1 +	default "kv3-2" if CONFIG_KVX_COOLIDGE_V2 +  config FORCE_OPTIONS_FOR_ARCH  	bool  	default y  	select ARCH_LITTLE_ENDIAN          select ARCH_HAS_MMU +	select ARCH_HAS_UCONTEXT  	select UCLIBC_HAS_FPU  	select UCLIBC_HAS_FENV  	select UCLIBC_HAS_WCHAR diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips index 8137d8be4..14b784fcc 100644 --- a/extra/Configs/Config.mips +++ b/extra/Configs/Config.mips @@ -13,6 +13,7 @@ config FORCE_OPTIONS_FOR_ARCH  	select ARCH_ANY_ENDIAN  	select ARCH_HAS_UCONTEXT  	select ARCH_HAS_DEPRECATED_SYSCALLS +	select ARCH_VDSO_SUPPORT  choice  	prompt "Target ABI" diff --git a/extra/Configs/Config.nds32 b/extra/Configs/Config.nds32 index 8bac9e679..2ed6a32b7 100644 --- a/extra/Configs/Config.nds32 +++ b/extra/Configs/Config.nds32 @@ -11,6 +11,7 @@ config FORCE_OPTIONS_FOR_ARCH  	bool  	default y  	select ARCH_ANY_ENDIAN +	select ARCH_HAS_DEPRECATED_SYSCALLS  	select ARCH_HAS_MMU  	select ARCH_HAS_UCONTEXT diff --git a/extra/Configs/Config.riscv32 b/extra/Configs/Config.riscv32 new file mode 100644 index 000000000..304d30f70 --- /dev/null +++ b/extra/Configs/Config.riscv32 @@ -0,0 +1,14 @@ +# +# For a description of the syntax of this configuration file, +# see extra/config/Kconfig-language.txt +# + +config TARGET_ARCH +	string +	default "riscv32" + +config FORCE_OPTIONS_FOR_ARCH +	bool +	default y +	select ARCH_LITTLE_ENDIAN +	select ARCH_HAS_MMU diff --git a/extra/Configs/Config.x86_64 b/extra/Configs/Config.x86_64 index 317a5007f..73c0e13a5 100644..100755 --- a/extra/Configs/Config.x86_64 +++ b/extra/Configs/Config.x86_64 @@ -14,3 +14,4 @@ config FORCE_OPTIONS_FOR_ARCH  	select ARCH_HAS_MMU  	select ARCH_HAS_UCONTEXT  	select ARCH_HAS_DEPRECATED_SYSCALLS +	select ARCH_VDSO_SUPPORT | 
