toolchain: allow choosing the MIPS64 user-land ABI
Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 36205
This commit is contained in:
parent
348cae15d2
commit
e032922266
4 changed files with 35 additions and 1 deletions
5
rules.mk
5
rules.mk
|
@ -73,6 +73,11 @@ endif
|
|||
ifdef CONFIG_HAS_SPE_FPU
|
||||
TARGET_SUFFIX:=$(TARGET_SUFFIX)spe
|
||||
endif
|
||||
ifdef CONFIG_MIPS64_ABI
|
||||
ifneq ($(CONFIG_MIPS64_ABI_O32),y)
|
||||
ARCH_SUFFIX:=$(ARCH_SUFFIX)_$(subst ",,$(CONFIG_MIPS64_ABI))
|
||||
endif
|
||||
endif
|
||||
|
||||
DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl)
|
||||
BIN_DIR:=$(TOPDIR)/bin/$(BOARD)
|
||||
|
|
|
@ -130,6 +130,25 @@ menuconfig EXTRA_TARGET_ARCH
|
|||
both powerpc and powerpc64 binaries, you'll need to
|
||||
specify -m64 here.
|
||||
|
||||
|
||||
choice
|
||||
prompt "MIPS64 user-land ABI" if TOOLCHAINOPTS && (mips64 || mips64el)
|
||||
default MIPS64_ABI_N64
|
||||
help
|
||||
MIPS64 supports 3 different user-land ABIs: o32 (legacy),
|
||||
n32 and n64.
|
||||
|
||||
config MIPS64_ABI_N64
|
||||
bool "n64"
|
||||
|
||||
config MIPS64_ABI_N32
|
||||
bool "n32"
|
||||
|
||||
config MIPS64_ABI_O32
|
||||
bool "o32"
|
||||
|
||||
endchoice
|
||||
|
||||
comment "Binary tools"
|
||||
depends TOOLCHAINOPTS
|
||||
|
||||
|
@ -218,3 +237,11 @@ config TARGET_SUFFIX
|
|||
default "uclibc" if USE_UCLIBC && !(arm || armeb)
|
||||
default "muslgnueabi" if USE_MUSL && (arm || armeb)
|
||||
default "musl" if USE_MUSL && !(arm || armeb)
|
||||
|
||||
config MIPS64_ABI
|
||||
depends mips64 || mips64el
|
||||
string
|
||||
default "64" if MIPS64_ABI_N64
|
||||
default "n32" if MIPS64_ABI_N32
|
||||
default "32" if MIPS64_ABI_O32
|
||||
default "64"
|
||||
|
|
|
@ -64,6 +64,7 @@ ifneq ($(ARCH),)
|
|||
mkdir -p "$$dir"; \
|
||||
cd "$$dir"; \
|
||||
ln -nsf lib lib64; \
|
||||
ln -nsf lib lib32; \
|
||||
mkdir -p stamp lib usr/include usr/lib ; \
|
||||
); done
|
||||
@grep GCC_VERSION $@ >/dev/null 2>&1 || $(INSTALL_DATA) $(TOPDIR)/toolchain/info.mk $@
|
||||
|
|
|
@ -113,7 +113,8 @@ GCC_CONFIGURE:= \
|
|||
--with-host-libstdcxx=-lstdc++ \
|
||||
$(SOFT_FLOAT_CONFIG_OPTION) \
|
||||
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
|
||||
$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 --with-abi=64) \
|
||||
$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 \
|
||||
--with-abi=$(subst ",,$(CONFIG_MIPS64_ABI))) \
|
||||
--with-gmp=$(TOPDIR)/staging_dir/host \
|
||||
--with-mpfr=$(TOPDIR)/staging_dir/host \
|
||||
--disable-decimal-float
|
||||
|
|
Loading…
Reference in a new issue