diff options
Diffstat (limited to 'extra')
| -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 | ||||
| -rw-r--r-- | extra/config/lxdialog/check-lxdialog.sh | 2 | ||||
| -rw-r--r-- | extra/config/zconf.tab.c_shipped | 4 | ||||
| -rw-r--r-- | extra/locale/programs/locale.c | 2 | ||||
| -rw-r--r-- | extra/scripts/unifdef.c | 12 | 
14 files changed, 136 insertions, 42 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 diff --git a/extra/config/lxdialog/check-lxdialog.sh b/extra/config/lxdialog/check-lxdialog.sh index 9d2a4c585..66bfcb549 100644 --- a/extra/config/lxdialog/check-lxdialog.sh +++ b/extra/config/lxdialog/check-lxdialog.sh @@ -43,7 +43,7 @@ trap "rm -f $tmp" 0 1 2 3 15  check() {          $cc -x c - -o $tmp 2>/dev/null <<'EOF'  #include CURSES_LOC -main() {} +int main() {}  EOF  	if [ $? != 0 ]; then  	    echo " *** Unable to find the ncurses libraries or the"       1>&2 diff --git a/extra/config/zconf.tab.c_shipped b/extra/config/zconf.tab.c_shipped index 208f20087..a2d7a7543 100644 --- a/extra/config/zconf.tab.c_shipped +++ b/extra/config/zconf.tab.c_shipped @@ -1067,7 +1067,7 @@ int yydebug;  # define YYMAXDEPTH 10000  #endif - +  #if YYERROR_VERBOSE @@ -1278,7 +1278,7 @@ yysyntax_error (char *yyresult, int yystate, int yychar)      }  }  #endif /* YYERROR_VERBOSE */ - +  /*-----------------------------------------------.  | Release the memory associated to this symbol.  | diff --git a/extra/locale/programs/locale.c b/extra/locale/programs/locale.c index 5d16d1276..4157c4a8e 100644 --- a/extra/locale/programs/locale.c +++ b/extra/locale/programs/locale.c @@ -231,7 +231,7 @@ static void find_locale_string(locale_entry * loc_rec, char *loc)  		*loc = '\0';  	} else {  		dotcs = (uint16_t) loc_rec->dot_cs; -		cs = (uint16_t) loc_rec->cs;; +		cs = (uint16_t) loc_rec->cs;  		loc = strncpy(loc, GET_LOCALE_NAME(idx), 5);  		if (loc[2] == '_') { diff --git a/extra/scripts/unifdef.c b/extra/scripts/unifdef.c index 0f059205f..cfe34377a 100644 --- a/extra/scripts/unifdef.c +++ b/extra/scripts/unifdef.c @@ -201,7 +201,7 @@ static int              depth;			/* current #if nesting */  static int              delcount;		/* count of deleted lines */  static unsigned         blankcount;		/* count of blank lines */  static unsigned         blankmax;		/* maximum recent blankcount */ -static bool             constexpr;		/* constant #if expression */ +static bool             const_expr;		/* constant #if expression */  static bool             zerosyms;		/* to format symdepth output */  static bool             firstsym;		/* ditto */ @@ -951,7 +951,7 @@ static long prec(const struct ops *ops)  /*   * Function for evaluating the innermost parts of expressions,   * viz. !expr (expr) number defined(symbol) symbol - * We reset the constexpr flag in the last two cases. + * We reset the const_expr flag in the last two cases.   */  static Linetype  eval_unary(const struct ops *ops, long *valp, const char **cpp) @@ -1011,7 +1011,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp)  			*valp = (value[sym] != NULL);  			lt = *valp ? LT_TRUE : LT_FALSE;  		} -		constexpr = false; +		const_expr = false;  	} else if (!endsym(*cp)) {  		debug("eval%d symbol", prec(ops));  		sym = findsym(&cp); @@ -1028,7 +1028,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp)  			lt = *valp ? LT_TRUE : LT_FALSE;  			cp = skipargs(cp);  		} -		constexpr = false; +		const_expr = false;  	} else {  		debug("eval%d bad expr", prec(ops));  		return (LT_ERROR); @@ -1088,10 +1088,10 @@ ifeval(const char **cpp)  	long val = 0;  	debug("eval %s", *cpp); -	constexpr = killconsts ? false : true; +	const_expr = killconsts ? false : true;  	ret = eval_table(eval_ops, &val, cpp);  	debug("eval = %d", val); -	return (constexpr ? LT_IF : ret == LT_ERROR ? LT_IF : ret); +	return (const_expr ? LT_IF : ret == LT_ERROR ? LT_IF : ret);  }  /* | 
