Complete support for MIPS n32 ABI
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
This commit is contained in:
parent
437c7d64f2
commit
7f28cd1f88
|
@ -502,13 +502,16 @@ endif
|
||||||
|
|
||||||
ifdef NO_BINARY_MODE
|
ifdef NO_BINARY_MODE
|
||||||
|
|
||||||
ifeq ($(ARCH), $(filter $(ARCH),mips64 mips))
|
ifeq ($(ARCH), $(filter $(ARCH),mips64))
|
||||||
ifdef BINARY64
|
ifdef BINARY64
|
||||||
CCOMMON_OPT += -mabi=64
|
CCOMMON_OPT += -mabi=64
|
||||||
else
|
else
|
||||||
CCOMMON_OPT += -mabi=32
|
CCOMMON_OPT += -mabi=n32
|
||||||
endif
|
endif
|
||||||
BINARY_DEFINED = 1
|
BINARY_DEFINED = 1
|
||||||
|
else ifeq ($(ARCH), $(filter $(ARCH),mips))
|
||||||
|
CCOMMON_OPT += -mabi=32
|
||||||
|
BINARY_DEFINED = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CORE), LOONGSON3A)
|
ifeq ($(CORE), LOONGSON3A)
|
||||||
|
@ -599,12 +602,14 @@ ifneq ($(NO_LAPACK), 1)
|
||||||
EXTRALIB += -lgfortran
|
EXTRALIB += -lgfortran
|
||||||
endif
|
endif
|
||||||
ifdef NO_BINARY_MODE
|
ifdef NO_BINARY_MODE
|
||||||
ifeq ($(ARCH), $(filter $(ARCH),mips64 mips))
|
ifeq ($(ARCH), $(filter $(ARCH),mips64))
|
||||||
ifdef BINARY64
|
ifdef BINARY64
|
||||||
FCOMMON_OPT += -mabi=64
|
FCOMMON_OPT += -mabi=64
|
||||||
else
|
else
|
||||||
FCOMMON_OPT += -mabi=32
|
FCOMMON_OPT += -mabi=n32
|
||||||
endif
|
endif
|
||||||
|
else ifeq ($(ARCH), $(filter $(ARCH),mips))
|
||||||
|
FCOMMON_OPT += -mabi=32
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
ifdef BINARY64
|
ifdef BINARY64
|
||||||
|
@ -688,20 +693,6 @@ endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(filter $(ARCH),mips64 mips))
|
|
||||||
ifndef BINARY64
|
|
||||||
FCOMMON_OPT += -m32
|
|
||||||
else
|
|
||||||
FCOMMON_OPT += -m64
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
ifdef BINARY64
|
|
||||||
FCOMMON_OPT += -mabi=64
|
|
||||||
else
|
|
||||||
FCOMMON_OPT += -mabi=32
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_OPENMP), 1)
|
ifeq ($(USE_OPENMP), 1)
|
||||||
FCOMMON_OPT += -mp
|
FCOMMON_OPT += -mp
|
||||||
endif
|
endif
|
||||||
|
|
9
c_check
9
c_check
|
@ -79,8 +79,13 @@ if ($os eq "AIX") {
|
||||||
$defined = 1;
|
$defined = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($architecture eq "mips") || ($architecture eq "mips64")) {
|
if ($architecture eq "mips") {
|
||||||
$compiler_name .= " -mabi=32" if ($binary eq "32");
|
$compiler_name .= " -mabi=32";
|
||||||
|
$defined = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($architecture eq "mips64") {
|
||||||
|
$compiler_name .= " -mabi=n32" if ($binary eq "32");
|
||||||
$compiler_name .= " -mabi=64" if ($binary eq "64");
|
$compiler_name .= " -mabi=64" if ($binary eq "64");
|
||||||
$defined = 1;
|
$defined = 1;
|
||||||
}
|
}
|
||||||
|
|
5
f_check
5
f_check
|
@ -223,8 +223,13 @@ if (!$?) {
|
||||||
}
|
}
|
||||||
#For gfortran MIPS
|
#For gfortran MIPS
|
||||||
if ($?) {
|
if ($?) {
|
||||||
|
$mips_data = `$compiler_bin -E -dM - < /dev/null`;
|
||||||
|
if ($mips_data =~ /_MIPS_ISA_MIPS64/) {
|
||||||
|
$link = `$compiler $openmp -mabi=n32 -v ftest2.f 2>&1 && rm -f a.out a.exe`;
|
||||||
|
} else {
|
||||||
$link = `$compiler $openmp -mabi=32 -v ftest2.f 2>&1 && rm -f a.out a.exe`;
|
$link = `$compiler $openmp -mabi=32 -v ftest2.f 2>&1 && rm -f a.out a.exe`;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$binary = "" if ($?);
|
$binary = "" if ($?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue