mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-05 14:09:53 +03:00
arch/mips: add support for MIPS32 FP mode
MIPS32 support different FP modes (32,xx,64), so give the user the opportunity to choose between them. That will cause host-gcc to be built using the --with-fp-32=[32|xx|64] configure option. Also the -mfp[32|xx|64] gcc option will be added to TARGET_CFLAGS and to the toolchain wrapper. FP mode option shouldn't be used for soft-float, so we add logic in the toolchain wrapper if -msoft-float is among the arguments in order to not append the -fp[[32|xx|64] option, otherwise the compilation may fail. Information about FP modes here: - https://sourceware.org/binutils/docs/as/MIPS-Options.html - https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
2d8f3fc430
commit
9a0a0a976b
@@ -254,6 +254,20 @@ int main(int argc, char **argv)
|
||||
*cur++ = "-mfloat-abi=" BR_FLOAT_ABI;
|
||||
#endif
|
||||
|
||||
#ifdef BR_FP32_MODE
|
||||
/* add fp32 mode if soft-float is not args or hard-float overrides soft-float */
|
||||
int add_fp32_mode = 1;
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (!strcmp(argv[i], "-msoft-float"))
|
||||
add_fp32_mode = 0;
|
||||
else if (!strcmp(argv[i], "-mhard-float"))
|
||||
add_fp32_mode = 1;
|
||||
}
|
||||
|
||||
if (add_fp32_mode == 1)
|
||||
*cur++ = "-mfp" BR_FP32_MODE;
|
||||
#endif
|
||||
|
||||
#if defined(BR_ARCH) || \
|
||||
defined(BR_CPU)
|
||||
/* Add our -march/cpu flags, but only if none of
|
||||
|
||||
Reference in New Issue
Block a user