diff options
Diffstat (limited to 'config/arch')
-rw-r--r-- | config/arch/alpha.in | 62 | ||||
-rw-r--r-- | config/arch/alpha.in.2 | 56 | ||||
-rw-r--r-- | config/arch/arc.in | 16 | ||||
-rw-r--r-- | config/arch/arm.in | 102 | ||||
-rw-r--r-- | config/arch/arm.in.2 | 93 | ||||
-rw-r--r-- | config/arch/avr.in | 1 | ||||
-rw-r--r-- | config/arch/c6x.in | 18 | ||||
-rw-r--r-- | config/arch/m68k.in | 2 | ||||
-rw-r--r-- | config/arch/microblaze.in | 10 | ||||
-rw-r--r-- | config/arch/mips.in | 42 | ||||
-rw-r--r-- | config/arch/mips.in.2 | 38 | ||||
-rw-r--r-- | config/arch/moxie.in | 11 | ||||
-rw-r--r-- | config/arch/msp430.in | 10 | ||||
-rw-r--r-- | config/arch/nios2.in | 5 | ||||
-rw-r--r-- | config/arch/powerpc.in | 51 | ||||
-rw-r--r-- | config/arch/powerpc.in.2 | 42 | ||||
-rw-r--r-- | config/arch/pru.in | 8 | ||||
-rw-r--r-- | config/arch/riscv.in | 19 | ||||
-rw-r--r-- | config/arch/s390.in | 1 | ||||
-rw-r--r-- | config/arch/sh.in | 70 | ||||
-rw-r--r-- | config/arch/sh.in.2 | 25 | ||||
-rw-r--r-- | config/arch/sparc.in | 6 | ||||
-rw-r--r-- | config/arch/x86.in | 2 | ||||
-rw-r--r-- | config/arch/xtensa.in | 19 | ||||
-rw-r--r-- | config/arch/xtensa.in.2 | 33 |
25 files changed, 436 insertions, 306 deletions
diff --git a/config/arch/alpha.in b/config/arch/alpha.in index 1c7ec96..c5d76e4 100644 --- a/config/arch/alpha.in +++ b/config/arch/alpha.in @@ -1,9 +1,65 @@ # Alpha specific configuration file -## select ARCH_SUPPORTS_32 -## select ARCH_DEFAULT_32 +## no-package +## select ARCH_SUPPORTS_64 +## select ARCH_DEFAULT_64 ## select ARCH_USE_MMU ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE -## + ## help The Alpha architecture. + +choice + bool + prompt "Variant" + +config ARCH_ALPHA_EV4 + bool + prompt "EV4" + +config ARCH_ALPHA_EV45 + bool + prompt "EV45" + +config ARCH_ALPHA_EV5 + bool + prompt "EV5" + +config ARCH_ALPHA_EV56 + bool + prompt "EV56" + +config ARCH_ALPHA_EV6 + bool + prompt "EV6" + +config ARCH_ALPHA_EV67 + bool + prompt "EV67" + +endchoice + +config ARCH_ALPHA_VARIANT + string + default "ev4" if ARCH_ALPHA_EV4 + default "ev45" if ARCH_ALPHA_EV45 + default "ev5" if ARCH_ALPHA_EV5 + default "ev56" if ARCH_ALPHA_EV56 + default "ev6" if ARCH_ALPHA_EV6 + default "ev67" if ARCH_ALPHA_EV67 + +config ARCH_CPU + default "ev4" if ARCH_ALPHA_EV4 + default "ev45" if ARCH_ALPHA_EV45 + default "ev5" if ARCH_ALPHA_EV5 + default "ev56" if ARCH_ALPHA_EV56 + default "ev6" if ARCH_ALPHA_EV6 + default "ev67" if ARCH_ALPHA_EV67 + +config ARCH_TUNE + default "ev4" if ARCH_ALPHA_EV4 + default "ev45" if ARCH_ALPHA_EV45 + default "ev5" if ARCH_ALPHA_EV5 + default "ev56" if ARCH_ALPHA_EV56 + default "ev6" if ARCH_ALPHA_EV6 + default "ev67" if ARCH_ALPHA_EV67 diff --git a/config/arch/alpha.in.2 b/config/arch/alpha.in.2 deleted file mode 100644 index aa52624..0000000 --- a/config/arch/alpha.in.2 +++ /dev/null @@ -1,56 +0,0 @@ -# Alpha specific configuration file - -choice - bool - prompt "Variant" - -config ARCH_ALPHA_EV4 - bool - prompt "EV4" - -config ARCH_ALPHA_EV45 - bool - prompt "EV45" - -config ARCH_ALPHA_EV5 - bool - prompt "EV5" - -config ARCH_ALPHA_EV56 - bool - prompt "EV56" - -config ARCH_ALPHA_EV6 - bool - prompt "EV6" - -config ARCH_ALPHA_EV67 - bool - prompt "EV67" - -endchoice - -config ARCH_ALPHA_VARIANT - string - default "ev4" if ARCH_ALPHA_EV4 - default "ev45" if ARCH_ALPHA_EV45 - default "ev5" if ARCH_ALPHA_EV5 - default "ev56" if ARCH_ALPHA_EV56 - default "ev6" if ARCH_ALPHA_EV6 - default "ev67" if ARCH_ALPHA_EV67 - -config ARCH_CPU - default "ev4" if ARCH_ALPHA_EV4 - default "ev45" if ARCH_ALPHA_EV45 - default "ev5" if ARCH_ALPHA_EV5 - default "ev56" if ARCH_ALPHA_EV56 - default "ev6" if ARCH_ALPHA_EV6 - default "ev67" if ARCH_ALPHA_EV67 - -config ARCH_TUNE - default "ev4" if ARCH_ALPHA_EV4 - default "ev45" if ARCH_ALPHA_EV45 - default "ev5" if ARCH_ALPHA_EV5 - default "ev56" if ARCH_ALPHA_EV56 - default "ev6" if ARCH_ALPHA_EV6 - default "ev67" if ARCH_ALPHA_EV67 diff --git a/config/arch/arc.in b/config/arch/arc.in new file mode 100644 index 0000000..d7c6e04 --- /dev/null +++ b/config/arch/arc.in @@ -0,0 +1,16 @@ +# ARC specific configuration file + +## no-package +## select ARCH_SUPPORTS_32 +## select ARCH_DEFAULT_32 +## select ARCH_SUPPORTS_BOTH_MMU +## select ARCH_DEFAULT_HAS_MMU +## select ARCH_SUPPORTS_EITHER_ENDIAN +## select ARCH_DEFAULT_LE +## select ARCH_SUPPORTS_WITH_CPU +## select GCC_REQUIRE_7_or_later +## select BINUTILS_REQUIRE_2_30_or_later +## select LINUX_REQUIRE_4_8_or_later if KERNEL_LINUX +## +## help The Synopsys DesignWare ARC architecture, see more info here: +## help https://www.synopsys.com/designware-ip/processor-solutions/arc-processors.html diff --git a/config/arch/arm.in b/config/arch/arm.in index 5dbc717..07ad5ed 100644 --- a/config/arch/arm.in +++ b/config/arch/arm.in @@ -1,11 +1,13 @@ # ARM specific configuration file +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_SUPPORTS_64 ## select ARCH_DEFAULT_32 ## select ARCH_SUPPORTS_BOTH_MMU ## select ARCH_DEFAULT_HAS_MMU -## select ARCH_SUPPORTS_BOTH_ENDIAN +## select ARCH_SUPPORTS_FLAT_FORMAT +## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_LE ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_CPU @@ -14,6 +16,102 @@ ## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 ## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 ## select ARCH_SUPPORTS_SOFTFP if ARCH_32 -## +## select LINUX_REQUIRE_3_7_or_later if ARCH_64 && KERNEL_LINUX + ## help The ARM architecture, as defined by: ## help http://www.arm.com/ + +if ARCH_32 +config ARCH_ARM_MODE + string + default "arm" if ARCH_ARM_MODE_ARM + default "thumb" if ARCH_ARM_MODE_THUMB + +choice + bool + prompt "Default instruction set mode" + default ARCH_ARM_MODE_ARM + +config ARCH_ARM_MODE_ARM + bool + prompt "arm" + help + Defaults to emitting instructions in the ARM mode. + +config ARCH_ARM_MODE_THUMB + bool + prompt "thumb" + help + Defaults to emitting instructions in the THUMB mode. + +endchoice + +config ARCH_ARM_INTERWORKING + bool + prompt "Use Thumb-interworking (READ HELP)" + help + Excerpt from the gcc manual: + + > Generate code which supports calling between the ARM and Thumb + > instruction sets. Without this option the two instruction sets + > cannot be reliably used inside one program. The default is + > [not to use interwork], since slightly larger code is generated + > when [interwork] is specified. + + NOTE: Interworking in crosstool-NG is not well-tested. Use at your + own risks, and report success and/or failure. + +# Until we only support EABI: +config ARCH_ARM_ABI_OK + def_bool y + depends on ! ARCH_ARM_EABI + select ARCH_SUPPORTS_WITH_ABI + +# Little trick to force EABI *and* always show the prompt +config ARCH_ARM_EABI_FORCE + bool + default y if ! OBSOLETE + select ARCH_ARM_EABI + +config ARCH_ARM_EABI + bool + prompt "Use EABI" + default y + help + Set up the toolchain so that it generates EABI-compliant binaries. + + If you say 'n' here, then the toolchain will generate OABI binaries. + OABI has long been deprecated, and is now considered legacy. + +config ARCH_ARM_TUPLE_USE_EABIHF + bool + prompt "append 'hf' to the tuple (EXPERIMENTAL)" + depends on ARCH_FLOAT_HW + depends on ARCH_ARM_EABI # Until we only support that... + default y + help + Is you say 'y' here, then the tuple for the toolchain will end + up with *eabihf, instead of the usual *eabi. + + *eabihf is used to denote that the toolchain *is* using the + hard-float ABI, while *eabi is just an indication of using the + soft-float ABI. + + Ie. all one can say is: *eabihf ⊢ hard-float ABI + + Saying 'n' here does *not* impact the ability of the toolchain to + generate hard-float instructions with the hard-float ABI. It is a + purely cosmetic thing, used by distros to differentiate their + hard-float-ABI-using ports from their soft-float-ABI-using ports. + (eg. Debian Wheezy and above). + + This is an option, as not all versions of gcc/binutils do support + such tuple, and fail to build with *eabihf. Stock gcc version up + to, and including 4.7.2 have an issue or another with *eabihf. + + This option is here for the future. + + Say 'n', unless you are trying to fix gcc to properly recognise + the *eabihf tuples. + +endif diff --git a/config/arch/arm.in.2 b/config/arch/arm.in.2 deleted file mode 100644 index a53ad33..0000000 --- a/config/arch/arm.in.2 +++ /dev/null @@ -1,93 +0,0 @@ -# ARM specific configuration file - -config ARCH_ARM_MODE - string - default "arm" if ARCH_ARM_MODE_ARM - default "thumb" if ARCH_ARM_MODE_THUMB - -choice - bool - prompt "Default instruction set mode" - default ARCH_ARM_MODE_ARM - -config ARCH_ARM_MODE_ARM - bool - prompt "arm" - help - Defaults to emitting instructions in the ARM mode. - -config ARCH_ARM_MODE_THUMB - bool - prompt "thumb" - help - Defaults to emitting instructions in the THUMB mode. - -endchoice - -config ARCH_ARM_INTERWORKING - bool - prompt "Use Thumb-interworking (READ HELP)" - help - Excerpt from the gcc manual: - - > Generate code which supports calling between the ARM and Thumb - > instruction sets. Without this option the two instruction sets - > cannot be reliably used inside one program. The default is - > [not to use interwork], since slightly larger code is generated - > when [interwork] is specified. - - NOTE: Interworking in crosstool-NG is not sell-tested. Use at your - own risks, and report success and/or failure. - -# Until we only support EABI: -config ARCH_ARM_ABI_OK - def_bool y - depends on ! ARCH_ARM_EABI - select ARCH_SUPPORTS_WITH_ABI - -# Little trick to force EABI *and* always show the prompt -config ARCH_ARM_EABI_FORCE - bool - default y if ! OBSOLETE - select ARCH_ARM_EABI - -config ARCH_ARM_EABI - bool - prompt "Use EABI" - default y - help - Set up the toolchain so that it generates EABI-compliant binaries. - - If you say 'n' here, then the toolchain will generate OABI binaries. - OABI has long been deprecated, and is now considered legacy. - -config ARCH_ARM_TUPLE_USE_EABIHF - bool - prompt "append 'hf' to the tuple (EXPERIMENTAL)" - depends on ARCH_FLOAT_HW - depends on ARCH_ARM_EABI # Until we only support that... - default y - help - Is you say 'y' here, then the tuple for the toolchain will end - up with *eabihf, instead of the usual *eabi. - - *eabihf is used to denote that the toolchain *is* using the - hard-float ABI, while *eabi is just an indication of using the - soft-float ABI. - - Ie. all one can say is: *eabihf ⊢ hard-float ABI - - Saying 'n' here does *not* impact the ability of the toolchain to - generate hard-float instructions with the hard-float ABI. It is a - purely cosmetic thing, used by distros to differentiate their - hard-float-ABI-using ports from their soft-float-ABI-using ports. - (eg. Debian Wheezy and above). - - This is an option, as not all versions of gcc/binutils do support - such tuple, and fail to build with *eabihf. Stock gcc version up - to, and including 4.7.2 have an issue or another with *eabihf. - - This option is here for the future. - - Say 'n', unless you are trying to fix gcc to properly recognise - the *eabihf tuples. diff --git a/config/arch/avr.in b/config/arch/avr.in index cf8e9af..ddf0cb6 100644 --- a/config/arch/avr.in +++ b/config/arch/avr.in @@ -1,5 +1,6 @@ # AVR specific config options +## no-package ## select ARCH_SUPPORTS_8 ## select ARCH_DEFAULT_8 ## select ARCH_REQUIRES_MULTILIB diff --git a/config/arch/c6x.in b/config/arch/c6x.in new file mode 100644 index 0000000..98589cc --- /dev/null +++ b/config/arch/c6x.in @@ -0,0 +1,18 @@ +# c6x specific configuration file + +## no-package +## select ARCH_SUPPORTS_32 +## select ARCH_DEFAULT_32 +## select ARCH_SUPPORTS_EITHER_ENDIAN +## select ARCH_DEFAULT_LE +## select ARCH_SUPPORTS_FLAT_FORMAT +## select ARCH_SUPPORTS_WITH_CPU +## select LINUX_REQUIRE_older_than_5_12 +## select LINUX_REQUIRE_3_7_or_later +## depends on EXPERIMENTAL +## +## help The TI C6x (TMS320C6000) architecture +## help https://www.ti.com/processors/digital-signal-processors +## help For linux, kernel must be 3.7 or later (or custom) but not newer +## help than 5.11.x (support for C6x was removed in 5.12). + diff --git a/config/arch/m68k.in b/config/arch/m68k.in index 6c76e78..d21de00 100644 --- a/config/arch/m68k.in +++ b/config/arch/m68k.in @@ -1,8 +1,10 @@ # m68k specific configuration file +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_DEFAULT_32 ## select ARCH_DEFAULT_BE +## select ARCH_SUPPORTS_FLAT_FORMAT ## select ARCH_SUPPORTS_WITH_CPU ## ## help The m68k architecture diff --git a/config/arch/microblaze.in b/config/arch/microblaze.in index d236007..c8496ee 100644 --- a/config/arch/microblaze.in +++ b/config/arch/microblaze.in @@ -1,22 +1,24 @@ # MicroBlaze specific config options +## no-package ## depends on EXPERIMENTAL ## -## select ARCH_SUPPORT_ARCH +## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_FLOAT_SW -## select ARCH_SUPPORTS_BOTH_ENDIAN +## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_BE ## select ARCH_SUPPORTS_BOTH_MMU ## select ARCH_DEFAULT_HAS_MMU +## select ARCH_SUPPORTS_FLAT_FORMAT ## ## help The MicroBlaze architecture, as defined by: ## help http://www.xilinx.com/ -## help +## help ## help Upstream projects do not currently provide ## help full support for the microblaze architecture ## help and as such, this is marked as EXPERIMENTAL ## help for CT-NG. -## help +## help ## help Support is being added for a modern gcc, ## help binutils and gdb along with nptl threading ## help in glibc for microblaze. diff --git a/config/arch/mips.in b/config/arch/mips.in index 1168f5e..ad8b1c6 100644 --- a/config/arch/mips.in +++ b/config/arch/mips.in @@ -1,14 +1,52 @@ # MIPS specific config options +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_SUPPORTS_64 ## select ARCH_DEFAULT_32 ## select ARCH_USE_MMU -## select ARCH_SUPPORTS_BOTH_ENDIAN +## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_BE ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT -## + ## help The MIPS architecture, as defined by: ## help http://www.mips.com/ + +choice + bool + prompt "ABI" + +config ARCH_mips_o32 + bool + prompt "o32" + depends on (ARCH_32 || MULTILIB) + help + This is the -mabi=32 gcc option. + +config ARCH_mips_n32 + bool + prompt "n32" + depends on ARCH_64 + help + This is the -mabi=n32 gcc option. + +config ARCH_mips_n64 + bool + prompt "n64" + depends on ARCH_64 + help + This is the -mabi=64 gcc option. + +# Not supported on Linux: +# o64 : seems related to *BSD +# eabi : seems related to bare-metal + +endchoice + +config ARCH_mips_ABI + string + default "32" if ARCH_mips_o32 + default "n32" if ARCH_mips_n32 + default "64" if ARCH_mips_n64 diff --git a/config/arch/mips.in.2 b/config/arch/mips.in.2 deleted file mode 100644 index 35c60e0..0000000 --- a/config/arch/mips.in.2 +++ /dev/null @@ -1,38 +0,0 @@ -# MIPS specific config options - -choice - bool - prompt "ABI" - -config ARCH_mips_o32 - bool - prompt "o32" - depends on (ARCH_32 || MULTILIB) - help - This is the -mabi=32 gcc option. - -config ARCH_mips_n32 - bool - prompt "n32" - depends on ARCH_64 - help - This is the -mabi=n32 gcc option. - -config ARCH_mips_n64 - bool - prompt "n64" - depends on ARCH_64 - help - This is the -mabi=64 gcc option. - -# Not supported on Linux: -# o64 : seems related to *BSD -# eabi : seems related to bare-metal - -endchoice - -config ARCH_mips_ABI - string - default "32" if ARCH_mips_o32 - default "n32" if ARCH_mips_n32 - default "64" if ARCH_mips_n64 diff --git a/config/arch/moxie.in b/config/arch/moxie.in new file mode 100644 index 0000000..8d8bb22 --- /dev/null +++ b/config/arch/moxie.in @@ -0,0 +1,11 @@ +# Moxie soft-core architecture + +## no-package +## select ARCH_SUPPORTS_32 +## select ARCH_DEFAULT_32 +## select ARCH_SUPPORTS_EITHER_ENDIAN +## select ARCH_DEFAULT_BE +## depends on EXPERIMENTAL + +## help The Moxie soft-core architecture, as defined by: +## help http://moxielogic.org/blog/pages/architecture.html diff --git a/config/arch/msp430.in b/config/arch/msp430.in new file mode 100644 index 0000000..320eca8 --- /dev/null +++ b/config/arch/msp430.in @@ -0,0 +1,10 @@ +# MSP430 specific config options + +## no-package +## select ARCH_SUPPORTS_16 +## select ARCH_DEFAULT_16 +## select ARCH_REQUIRES_MULTILIB +## depends on EXPERIMENTAL +## +## help The 16-bit MSP430 architecture, as defined by: +## help http://www.ti.com/lsds/ti/microcontrollers-16-bit-32-bit/msp/overview.page?HQS=msp430 diff --git a/config/arch/nios2.in b/config/arch/nios2.in index 2674bfd..de28246 100644 --- a/config/arch/nios2.in +++ b/config/arch/nios2.in @@ -1,9 +1,12 @@ # NIOS232 specific configuration file +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_DEFAULT_32 +## select ARCH_SUPPORTS_BOTH_MMU ## select ARCH_DEFAULT_LE -## select ARCH_SUPPORTS_WITH_CPU +## select ARCH_SUPPORTS_WITH_ARCH +## select ARCH_SUPPORTS_FLAT_FORMAT ## ## help The NIOS2 architecture, as defined by: ## help http://www.altera.com diff --git a/config/arch/powerpc.in b/config/arch/powerpc.in index 6dfc742..bb75ac0 100644 --- a/config/arch/powerpc.in +++ b/config/arch/powerpc.in @@ -1,15 +1,62 @@ -# powerpc specific configuration file +# Powerpc specific configuration file +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_SUPPORTS_64 ## select ARCH_DEFAULT_32 -## select ARCH_SUPPORTS_BOTH_ENDIAN +## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_BE ## select ARCH_USE_MMU ## select ARCH_SUPPORTS_WITH_ABI ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT +## select ARCH_SUPPORTS_WITH_32_64 ## ## help The PowerPC architecture, as defined by: ## help http://www.ibm.com/developerworks/eserver/articles/archguide.html + +config ARCH_powerpc_ABI + string + default "" if ARCH_powerpc_ABI_DEFAULT + default "eabi" if ARCH_powerpc_ABI_EABI + default "spe" if ARCH_powerpc_ABI_SPE + +choice + bool + prompt "ABI" + default ARCH_powerpc_ABI_DEFAULT + +config ARCH_powerpc_ABI_DEFAULT + bool + prompt "default" + help + The default ABI (System V.4). + +config ARCH_powerpc_ABI_EABI + bool + prompt "EABI" + depends on BARE_METAL + help + The Embedded ABI (stack alignment of 8 bytes, etc). + +config ARCH_powerpc_ABI_SPE + bool + prompt "SPE" + select GCC_REQUIRE_older_than_9 + select GLIBC_REQUIRE_2_29_or_older + help + Add support for the Signal Processing Engine. This will set up + the toolchain so that it supports the SPE ABI extensions. This + mainly targets Freescale e500 processors. + + Setting this option will append "spe" to the end of your target + tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc + configure/build system will know to include SPE ABI support. It + will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS, + and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you + do not need to explicitly add them. + + Support for SPE ABI has been removed in GCC 9. + +endchoice diff --git a/config/arch/powerpc.in.2 b/config/arch/powerpc.in.2 deleted file mode 100644 index 2cbc370..0000000 --- a/config/arch/powerpc.in.2 +++ /dev/null @@ -1,42 +0,0 @@ -# powerpc specific configuration file - -config ARCH_powerpc_ABI - string - default "" if ARCH_powerpc_ABI_DEFAULT - default "eabi" if ARCH_powerpc_ABI_EABI - default "spe" if ARCH_powerpc_ABI_SPE - -choice - bool - prompt "ABI" - default ARCH_powerpc_ABI_DEFAULT - -config ARCH_powerpc_ABI_DEFAULT - bool - prompt "default" - help - The default ABI (System V.4). - -config ARCH_powerpc_ABI_EABI - bool - prompt "EABI" - depends on BARE_METAL - help - The Embedded ABI (stack alignment of 8 bytes, etc). - -config ARCH_powerpc_ABI_SPE - bool - prompt "SPE" - help - Add support for the Signal Processing Engine. This will set up - the toolchain so that it supports the SPE ABI extensions. This - mainly targets Freescale e500 processors. - - Setting this option will append "spe" to the end of your target - tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc - configure/build system will know to include SPE ABI support. It - will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS, - and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you - do not need to explicitly add them. - -endchoice diff --git a/config/arch/pru.in b/config/arch/pru.in new file mode 100644 index 0000000..f26dc7a --- /dev/null +++ b/config/arch/pru.in @@ -0,0 +1,8 @@ +# PRU specific config options + +## no-package +## select ARCH_SUPPORTS_8 +## select ARCH_DEFAULT_8 +## +## help The TI PRU core, as defined by: +## help http://bbb.io/pru diff --git a/config/arch/riscv.in b/config/arch/riscv.in new file mode 100644 index 0000000..6b98520 --- /dev/null +++ b/config/arch/riscv.in @@ -0,0 +1,19 @@ +# RISC-V specific config options + +## no-package +## depends on EXPERIMENTAL +## +## select ARCH_SUPPORTS_32 +## select ARCH_SUPPORTS_64 +## select ARCH_DEFAULT_32 +## select ARCH_SUPPORTS_BOTH_MMU +## select ARCH_SUPPORTS_WITH_ABI +## select ARCH_SUPPORTS_WITH_ARCH +## select ARCH_SUPPORTS_WITH_TUNE +## select GCC_REQUIRE_7_or_later +## select BINUTILS_REQUIRE_2_28_or_later +## select GDB_REQUIRE_8_0_or_later if DEBUG_GDB +## select GLIBC_REQUIRE_2_29_or_later if LIBC_GLIBC + +## help The RISC-V architecture, as defined by: +## help http://www.riscv.org/ diff --git a/config/arch/s390.in b/config/arch/s390.in index 00bc879..64107b6 100644 --- a/config/arch/s390.in +++ b/config/arch/s390.in @@ -1,5 +1,6 @@ # s390 specific config options +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_SUPPORTS_64 ## select ARCH_DEFAULT_32 diff --git a/config/arch/sh.in b/config/arch/sh.in index 60de313..ff2ec14 100644 --- a/config/arch/sh.in +++ b/config/arch/sh.in @@ -1,11 +1,77 @@ # Super-H specific configuration file +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_DEFAULT_32 -## select ARCH_USE_MMU -## select ARCH_SUPPORTS_BOTH_ENDIAN +## select ARCH_SUPPORTS_BOTH_MMU +## select ARCH_DEFAULT_HAS_MMU +## select ARCH_SUPPORTS_FLAT_FORMAT +## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_LE ## select ARCH_REQUIRES_MULTILIB +## select ARCH_SUPPORTS_WITH_ENDIAN ## ## help The Super-H architecture, as defined by: ## help http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&fp=/products/mpumcu/superh_family/ + +choice + bool + prompt "Variant" + +# GCC supports both endiannesses even if a specific CPU is selected (so long +# as that CPU can be both BE/LE), but the binutils (or specifically, ld) +# configures for both endiannesses only if sh-*-linux target is selected. +config ARCH_SH_SH + bool + prompt "unspecified" + select ARCH_SUPPORTS_BOTH_ENDIAN + select ARCH_SUPPORTS_WITH_CPU + help + If left unspecified, GCC will determine the set of multilibs to compile automatically + based on selected endianness, FPU mode and OS. + +config ARCH_SH_SH1 + bool + prompt "sh1" + +config ARCH_SH_SH2 + bool + prompt "sh2" + +config ARCH_SH_SH2E + bool + prompt "sh2e" + +config ARCH_SH_SH2A + bool + prompt "sh2a" + +config ARCH_SH_SH3 + bool + prompt "sh3" + +config ARCH_SH_SH3E + bool + prompt "sh3e" + +config ARCH_SH_SH4 + bool + prompt "sh4" + +config ARCH_SH_SH4A + bool + prompt "sh4a" + +endchoice + +config ARCH_SH_VARIANT + string + default "sh" if ARCH_SH_SH + default "sh1" if ARCH_SH_SH1 + default "sh2" if ARCH_SH_SH2 + default "sh2e" if ARCH_SH_SH2E + default "sh2a" if ARCH_SH_SH2A + default "sh3" if ARCH_SH_SH3 + default "sh3e" if ARCH_SH_SH3E + default "sh4" if ARCH_SH_SH4 + default "sh4a" if ARCH_SH_SH4A diff --git a/config/arch/sh.in.2 b/config/arch/sh.in.2 deleted file mode 100644 index 82856ee..0000000 --- a/config/arch/sh.in.2 +++ /dev/null @@ -1,25 +0,0 @@ -# Super-H specific configuration file - -choice - bool - prompt "Variant" - -config ARCH_SH_SH3 - bool - prompt "sh3" - -config ARCH_SH_SH4 - bool - prompt "sh4" - -config ARCH_SH_SH4A - bool - prompt "sh4a" - -endchoice - -config ARCH_SH_VARIANT - string - default "sh3" if ARCH_SH_SH3 - default "sh4" if ARCH_SH_SH4 - default "sh4a" if ARCH_SH_SH4A diff --git a/config/arch/sparc.in b/config/arch/sparc.in index 27eaf9c..fe46eaa 100644 --- a/config/arch/sparc.in +++ b/config/arch/sparc.in @@ -1,12 +1,16 @@ # SPARC specific config options +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_SUPPORTS_64 ## select ARCH_DEFAULT_32 -## select ARCH_USE_MMU +## select ARCH_SUPPORTS_BOTH_MMU +## select ARCH_DEFAULT_HAS_MMU +## select ARCH_SUPPORTS_FLAT_FORMAT ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT +## select ARCH_SUPPORTS_WITH_32_64 if GCC_6_or_later ## ## help The SUN SPARC architecture, as defined by: ## help 32 bit: http://www.sparc.org/standards/V8.pdf diff --git a/config/arch/x86.in b/config/arch/x86.in index 3863c02..ec16655 100644 --- a/config/arch/x86.in +++ b/config/arch/x86.in @@ -1,5 +1,6 @@ # x86 specific options +## no-package ## select ARCH_SUPPORTS_32 ## select ARCH_SUPPORTS_64 ## select ARCH_DEFAULT_32 @@ -7,6 +8,7 @@ ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE +## select ARCH_SUPPORTS_WITH_32_64 ## ## help The x86 architecture, as defined by: ## help 32-bit (ia32) : http://www.intel.com/ diff --git a/config/arch/xtensa.in b/config/arch/xtensa.in index 3ffa4e8..14ba10d 100644 --- a/config/arch/xtensa.in +++ b/config/arch/xtensa.in @@ -1,11 +1,13 @@ # xtensa specific configuration file +## no-package ## select ARCH_SUPPORTS_32 -## select ARCH_SUPPORTS_BOTH_ENDIAN +## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_LE ## select ARCH_SUPPORTS_BOTH_MMU ## select ARCH_DEFAULT_HAS_MMU -## +## select ARCH_SUPPORTS_FLAT_FORMAT + ## help The xtensa architecture ## help ## help Xtensa is a configurable and extensible processor architecture. @@ -20,3 +22,16 @@ ## help ## help The default option (ARCH_xtensa_fsf) uses a built-in configuration, ## help which may or may not work for a particular Xtensa processor. + +choice + prompt "Target Architecture Variant" + default ARCH_xtensa_fsf + +config XTENSA_CUSTOM + bool "Custom Xtensa processor configuration" + select TARGET_USE_OVERLAY + +config ARCH_xtensa_fsf + bool "fsf - Default configuration" + +endchoice diff --git a/config/arch/xtensa.in.2 b/config/arch/xtensa.in.2 deleted file mode 100644 index 25ece70..0000000 --- a/config/arch/xtensa.in.2 +++ /dev/null @@ -1,33 +0,0 @@ -choice - prompt "Target Architecture Variant" - default ARCH_xtensa_fsf - -config XTENSA_CUSTOM - bool "Custom Xtensa processor configuration" - -config ARCH_xtensa_fsf - bool "fsf - Default configuration" - -endchoice - -config ARCH_XTENSA_CUSTOM_NAME - string "Custom Xtensa processor configuration name" - depends on XTENSA_CUSTOM - default "" - help - Enter the name of the custom processor configuration. - Overlay file for that configuration must be called - 'xtensa_<CUSTOM_NAME>.tar'. - - Leave blank to use the default 'xtensa-overlay.tar'. - For more information about this option, please also consult - section 'Using crosstool-NG to build Xtensa toolchains' in the - docs/C - Misc. tutorials.txt - -config ARCH_XTENSA_CUSTOM_OVERLAY_LOCATION - string "Full path to custom Xtensa processor configurations" - depends on XTENSA_CUSTOM - default "" - help - Enter the path to the directory for the custom processor - configuration file. |