diff options
author | Alexey Neyman <stilor@att.net> | 2017-08-29 15:36:52 -0700 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-09-03 12:11:23 -0700 |
commit | 413f5f610012ea24db9910084ea3b40db808147b (patch) | |
tree | 75e9c879151cfa7cd476fc43b1182ca63655813f /config/target.in | |
parent | 1da3cc59df185144cb01fdd32a0dc1ca417d9106 (diff) | |
download | crosstool-ng-413f5f610012ea24db9910084ea3b40db808147b.tar.gz crosstool-ng-413f5f610012ea24db9910084ea3b40db808147b.tar.bz2 crosstool-ng-413f5f610012ea24db9910084ea3b40db808147b.zip |
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.in | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/config/target.in b/config/target.in index 738f06b1..d3b5f083 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 |