arch/mips: add option for MIPS ABIs

This adds selection for one of the o32, n32 and n64 ABIs.
Later, we can easily use those boolean options, rather than
relying on a user-supplied string option.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
Yann E. MORIN" 2010-09-12 22:14:04 +02:00
parent dae205737f
commit b92668a211
3 changed files with 42 additions and 1 deletions

View File

@ -8,7 +8,6 @@ config ARCH_mips
select ARCH_SUPPORTS_BOTH_ENDIAN
select ARCH_DEFAULT_BE
select ARCH_SUPPORT_ARCH
select ARCH_SUPPORT_ABI
select ARCH_SUPPORT_TUNE
help
The MIPS architecture, as defined by:

38
config/arch/mips.in.2 Normal file
View File

@ -0,0 +1,38 @@
# MIPS specific config options
choice
bool
prompt "ABI"
config ARCH_mips_o32
bool
prompt "o32"
depends on ARCH_32
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

View File

@ -14,4 +14,8 @@ CT_DoArchTupleValues() {
y,) CT_ARCH_ENDIAN_CFLAG="-EB";;
,y) CT_ARCH_ENDIAN_CFLAG="-EL";;
esac
# Override ABI flags
CT_ARCH_ABI_CFLAG="-mabi=${CT_ARCH_mips_ABI}"
CT_ARCH_WITH_ABI="--with-abi=${CT_ARCH_mips_ABI}"
}