summaryrefslogtreecommitdiff
path: root/config/target.in
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-08-29 22:36:52 (GMT)
committerAlexey Neyman <stilor@att.net>2017-09-03 19:11:23 (GMT)
commit413f5f610012ea24db9910084ea3b40db808147b (patch)
tree75e9c879151cfa7cd476fc43b1182ca63655813f /config/target.in
parent1da3cc59df185144cb01fdd32a0dc1ca417d9106 (diff)
Super-H multilib toolchain fixes
1. On SuperH, configuring GCC with explicit variant of the CPU (like "sh4") limits the default set of multilibs to just that CPU and requires --with-multilib-list to change. Allow for "unspecified" variant, so that we can defer to GCC to determine the list. 2. Support toolchains with both endiannesses at the same time. 3. Add a SuperH/newlib sample 4. Add more flags processing for uClibc Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'config/target.in')
-rw-r--r--config/target.in38
1 files changed, 34 insertions, 4 deletions
diff --git a/config/target.in b/config/target.in
index 738f06b..d3b5f08 100644
--- a/config/target.in
+++ b/config/target.in
@@ -93,8 +93,16 @@ config ARCH_USE_MMU
have one (eg. ARM Cortex-A8).
#--------------------------------------
+config ARCH_SUPPORTS_EITHER_ENDIAN
+ bool
+ help
+ Architecture allows to select endianness at the time the toolchain is built.
+
config ARCH_SUPPORTS_BOTH_ENDIAN
bool
+ select ARCH_SUPPORTS_EITHER_ENDIAN
+ help
+ Toolchain supports both big/little endian.
config ARCH_DEFAULT_BE
bool
@@ -102,12 +110,22 @@ config ARCH_DEFAULT_BE
config ARCH_DEFAULT_LE
bool
+config ARCH_DEFAULT_BE_LE
+ bool
+ depends on ARCH_SUPPORTS_BOTH_ENDIAN
+
+config ARCH_DEFAULT_LE_BE
+ bool
+ depends on ARCH_SUPPORTS_BOTH_ENDIAN
+
choice
bool
prompt "Endianness:"
depends on ARCH_SUPPORTS_BOTH_ENDIAN
default ARCH_BE if ARCH_DEFAULT_BE
default ARCH_LE if ARCH_DEFAULT_LE
+ default ARCH_BE_LE if ARCH_DEFAULT_BE_LE
+ default ARCH_LE_BE if ARCH_DEFAULT_LE_BE
config ARCH_BE
bool
@@ -117,13 +135,23 @@ config ARCH_LE
bool
prompt "Little endian"
+config ARCH_BE_LE
+ bool
+ prompt "Both, default big endian"
+
+config ARCH_LE_BE
+ bool
+ prompt "Both, default little endian"
+
endchoice
config ARCH_ENDIAN
string
- depends on ARCH_SUPPORTS_BOTH_ENDIAN
- default "big" if ARCH_BE
- default "little" if ARCH_LE
+ depends on ARCH_SUPPORTS_EITHER_ENDIAN
+ default "big" if ARCH_BE
+ default "little" if ARCH_LE
+ default "big,little" if ARCH_BE_LE
+ default "little,big" if ARCH_LE_BE
#--------------------------------------
config ARCH_SUPPORTS_8
@@ -208,6 +236,9 @@ config ARCH_SUPPORTS_WITH_FLOAT
config ARCH_SUPPORTS_WITH_FPU
bool
+config ARCH_SUPPORTS_WITH_ENDIAN
+ bool
+
config ARCH_SUPPORTS_SOFTFP
bool
@@ -396,7 +427,6 @@ config TARGET_LDFLAGS
config ARCH_FLOAT
string
- default "" if ! ARCH_SUPPORTS_WITH_FLOAT
default "auto" if ARCH_FLOAT_AUTO
default "hard" if ARCH_FLOAT_HW
default "soft" if ARCH_FLOAT_SW