aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/arch/arm.in15
-rw-r--r--config/cc/gcc.in1
-rw-r--r--config/libc/newlib.in24
3 files changed, 34 insertions, 6 deletions
diff --git a/config/arch/arm.in b/config/arch/arm.in
index 07ad5ed2..5b55c2ae 100644
--- a/config/arch/arm.in
+++ b/config/arch/arm.in
@@ -9,13 +9,13 @@
## select ARCH_SUPPORTS_FLAT_FORMAT
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_LE
-## select ARCH_SUPPORTS_WITH_ARCH
-## select ARCH_SUPPORTS_WITH_CPU
+## select ARCH_SUPPORTS_WITH_ARCH if !(MULTILIB && ARCH_32)
+## select ARCH_SUPPORTS_WITH_CPU if !(MULTILIB && ARCH_32)
## select ARCH_EXCLUSIVE_WITH_CPU
-## select ARCH_SUPPORTS_WITH_TUNE
-## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32
-## select ARCH_SUPPORTS_WITH_FPU if ARCH_32
-## select ARCH_SUPPORTS_SOFTFP if ARCH_32
+## select ARCH_SUPPORTS_WITH_TUNE if !(MULTILIB && ARCH_32)
+## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 && !MULTILIB
+## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 && !MULTILIB
+## select ARCH_SUPPORTS_SOFTFP if ARCH_32 && !MULTILIB
## select LINUX_REQUIRE_3_7_or_later if ARCH_64 && KERNEL_LINUX
## help The ARM architecture, as defined by:
@@ -26,11 +26,13 @@ config ARCH_ARM_MODE
string
default "arm" if ARCH_ARM_MODE_ARM
default "thumb" if ARCH_ARM_MODE_THUMB
+ depends on !MULTILIB
choice
bool
prompt "Default instruction set mode"
default ARCH_ARM_MODE_ARM
+ depends on !MULTILIB
config ARCH_ARM_MODE_ARM
bool
@@ -49,6 +51,7 @@ endchoice
config ARCH_ARM_INTERWORKING
bool
prompt "Use Thumb-interworking (READ HELP)"
+ depends on !MULTILIB
help
Excerpt from the gcc manual:
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index 037291fe..ea7103b8 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -81,6 +81,7 @@ config CC_GCC_MULTILIB_LIST
string "List of multilib variants"
depends on MULTILIB
default "m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single" if GCC_11_or_later && ARCH_SH
+ default "aprofile,rmprofile" if ARCH_ARM && ARCH_32
help
Architecture-specific option of expanding or restricting the list of
the multilib variants to be built. Refer to GCC installation manual
diff --git a/config/libc/newlib.in b/config/libc/newlib.in
index f1cb29be..7bba2293 100644
--- a/config/libc/newlib.in
+++ b/config/libc/newlib.in
@@ -55,6 +55,7 @@ config LIBC_NEWLIB_IO_LDBL
config LIBC_NEWLIB_IO_POS_ARGS
bool
prompt "Enable printf-family positional arg support"
+ depends on !LIBC_NEWLIB_NANO_FORMATTED_IO
help
Enable printf-family positional arg support.
@@ -199,6 +200,29 @@ config LIBC_NEWLIB_NANO_FORMATTED_IO
with size constraint issues. This option does not affect wide-char
formatted I/O functions.
+ Some notes about this feature:
+ 1) Floating-point support is split out of the formatted I/O code into
+ weak functions which are not linked by default. Programs that need
+ floating-point I/O support must explicitly request linking of one or
+ both of the floating-point functions: _printf_float or _scanf_float.
+ This can be done at link time using the -u option which can be passed
+ to either gcc or ld.
+
+ 2) The following configuration options are ignored for non-wide-char
+ formatted I/O functions, and can be thought of as disabled.
+
+ "Enable printf-family positional arg support"
+ "Enable IOs on C99 formats"
+ "Enable IOs on long long"
+ "Enable IOs on long doubles"
+
+ Additionally, "Enable IOs on floats and doubles" is supported in this
+ specific implementation, one can disable it to further reduce code size.
+ In this case, the floating-point specifiers will not be recognized or
+ handled, and the -u option will not work either.
+
+ Learn more: https://sourceware.org/newlib/README
+
config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY
string
prompt "Extra config for newlib"