summaryrefslogtreecommitdiff
path: root/extra/Configs
diff options
context:
space:
mode:
Diffstat (limited to 'extra/Configs')
-rw-r--r--extra/Configs/Config.aarch641
-rw-r--r--extra/Configs/Config.arm1
-rw-r--r--extra/Configs/Config.i3861
-rw-r--r--extra/Configs/Config.in70
-rw-r--r--extra/Configs/Config.in.arch33
-rw-r--r--extra/Configs/Config.kvx18
-rw-r--r--extra/Configs/Config.mips1
-rw-r--r--extra/Configs/Config.nds321
-rw-r--r--extra/Configs/Config.riscv3214
-rwxr-xr-x[-rw-r--r--]extra/Configs/Config.x86_641
10 files changed, 112 insertions, 29 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..3a0136c99 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
@@ -515,7 +546,7 @@ config LDSO_LD_LIBRARY_PATH
config UCLIBC_CTOR_DTOR
bool
- default y if !TARGET_riscv64
+ 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.
@@ -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,28 @@ 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 if TARGET_riscv32
+ default n
+
+ help
+ Replace 32bit syscalls to their 64/time64 analog if possible.
+
endmenu
menu "Advanced Library Settings"
@@ -2312,6 +2373,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..1ae5134b9 100644
--- a/extra/Configs/Config.in.arch
+++ b/extra/Configs/Config.in.arch
@@ -10,6 +10,14 @@
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)
@@ -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
#
diff --git a/extra/Configs/Config.kvx b/extra/Configs/Config.kvx
index 398ffceaa..04df53c38 100644
--- a/extra/Configs/Config.kvx
+++ b/extra/Configs/Config.kvx
@@ -7,6 +7,24 @@ 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
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