add a modified version of the mips64 patch from #4603
SVN-Revision: 15249
This commit is contained in:
parent
24aedf8281
commit
56164a5815
19 changed files with 201 additions and 4 deletions
|
@ -53,7 +53,7 @@ ifneq (,$(findstring uml,$(BOARD)))
|
||||||
LINUX_KARCH=um
|
LINUX_KARCH=um
|
||||||
else
|
else
|
||||||
ifeq (,$(LINUX_KARCH))
|
ifeq (,$(LINUX_KARCH))
|
||||||
LINUX_KARCH=$(strip $(subst i386,x86,$(subst armeb,arm,$(subst mipsel,mips,$(subst sh2,sh,$(subst sh3,sh,$(subst sh4,sh,$(ARCH))))))))
|
LINUX_KARCH=$(strip $(subst i386,x86,$(subst armeb,arm,$(subst mipsel,mips,$(subst mips64,mips,$(subst mips64el,mips,$(subst sh2,sh,$(subst sh3,sh,$(subst sh4,sh,$(ARCH))))))))))
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
28
include/site/mips64-linux
Normal file
28
include/site/mips64-linux
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
|
||||||
|
ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
|
||||||
|
|
||||||
|
ac_cv_sizeof___int64=8
|
||||||
|
ac_cv_sizeof_char=1
|
||||||
|
ac_cv_sizeof_int=4
|
||||||
|
ac_cv_sizeof_int16_t=2
|
||||||
|
ac_cv_sizeof_int32_t=4
|
||||||
|
ac_cv_sizeof_int64_t=8
|
||||||
|
ac_cv_sizeof_long_int=8
|
||||||
|
ac_cv_sizeof_long_long=8
|
||||||
|
ac_cv_sizeof_long=8
|
||||||
|
ac_cv_sizeof_off_t=8
|
||||||
|
ac_cv_sizeof_short_int=2
|
||||||
|
ac_cv_sizeof_short=2
|
||||||
|
ac_cv_sizeof_size_t=8
|
||||||
|
ac_cv_sizeof_ssize_t=8
|
||||||
|
ac_cv_sizeof_u_int16_t=2
|
||||||
|
ac_cv_sizeof_u_int32_t=4
|
||||||
|
ac_cv_sizeof_u_int64_t=8
|
||||||
|
ac_cv_sizeof_uint16_t=2
|
||||||
|
ac_cv_sizeof_uint32_t=4
|
||||||
|
ac_cv_sizeof_uint64_t=8
|
||||||
|
ac_cv_sizeof_unsigned_int=4
|
||||||
|
ac_cv_sizeof_unsigned_long=8
|
||||||
|
ac_cv_sizeof_unsigned_long_long=8
|
||||||
|
ac_cv_sizeof_unsigned_short=2
|
||||||
|
ac_cv_sizeof_void_p=8
|
5
include/site/mips64-openwrt-linux-gnu
Normal file
5
include/site/mips64-openwrt-linux-gnu
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. $TOPDIR/include/site/mips64-linux
|
||||||
|
. $TOPDIR/include/site/linux-gnu
|
||||||
|
|
5
include/site/mips64-openwrt-linux-uclibc
Normal file
5
include/site/mips64-openwrt-linux-uclibc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. $TOPDIR/include/site/mips64-linux
|
||||||
|
. $TOPDIR/include/site/linux-uclibc
|
||||||
|
|
28
include/site/mips64el-linux
Normal file
28
include/site/mips64el-linux
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
|
||||||
|
ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
|
||||||
|
|
||||||
|
ac_cv_sizeof___int64=8
|
||||||
|
ac_cv_sizeof_char=1
|
||||||
|
ac_cv_sizeof_int=4
|
||||||
|
ac_cv_sizeof_int16_t=2
|
||||||
|
ac_cv_sizeof_int32_t=4
|
||||||
|
ac_cv_sizeof_int64_t=8
|
||||||
|
ac_cv_sizeof_long_int=8
|
||||||
|
ac_cv_sizeof_long_long=8
|
||||||
|
ac_cv_sizeof_long=8
|
||||||
|
ac_cv_sizeof_off_t=8
|
||||||
|
ac_cv_sizeof_short_int=2
|
||||||
|
ac_cv_sizeof_short=2
|
||||||
|
ac_cv_sizeof_size_t=8
|
||||||
|
ac_cv_sizeof_ssize_t=8
|
||||||
|
ac_cv_sizeof_u_int16_t=2
|
||||||
|
ac_cv_sizeof_u_int32_t=4
|
||||||
|
ac_cv_sizeof_u_int64_t=8
|
||||||
|
ac_cv_sizeof_uint16_t=2
|
||||||
|
ac_cv_sizeof_uint32_t=4
|
||||||
|
ac_cv_sizeof_uint64_t=8
|
||||||
|
ac_cv_sizeof_unsigned_int=4
|
||||||
|
ac_cv_sizeof_unsigned_long=8
|
||||||
|
ac_cv_sizeof_unsigned_long_long=8
|
||||||
|
ac_cv_sizeof_unsigned_short=2
|
||||||
|
ac_cv_sizeof_void_p=8
|
5
include/site/mips64el-openwrt-linux-gnu
Normal file
5
include/site/mips64el-openwrt-linux-gnu
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. $TOPDIR/include/site/mips64-linux
|
||||||
|
. $TOPDIR/include/site/linux-gnu
|
||||||
|
|
5
include/site/mips64el-openwrt-linux-uclibc
Normal file
5
include/site/mips64el-openwrt-linux-uclibc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. $TOPDIR/include/site/mips64-linux
|
||||||
|
. $TOPDIR/include/site/linux-uclibc
|
||||||
|
|
|
@ -155,6 +155,8 @@ ifeq ($(DUMP),1)
|
||||||
DEFAULT_CFLAGS_x86_64=-O2 -pipe -march=athlon64 -funit-at-a-time
|
DEFAULT_CFLAGS_x86_64=-O2 -pipe -march=athlon64 -funit-at-a-time
|
||||||
DEFAULT_CFLAGS_mips=-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time
|
DEFAULT_CFLAGS_mips=-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time
|
||||||
DEFAULT_CFLAGS_mipsel=$(DEFAULT_CFLAGS_mips)
|
DEFAULT_CFLAGS_mipsel=$(DEFAULT_CFLAGS_mips)
|
||||||
|
DEFAULT_CFLAGS_mips64=-Os -pipe -mips64 -mtune=mips64 -mabi=64 -funit-at-a-time
|
||||||
|
DEFAULT_CFLAGS_mips64el=$(DEFAULT_CFLAGS_mips64)
|
||||||
DEFAULT_CFLAGS_arm=-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time
|
DEFAULT_CFLAGS_arm=-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time
|
||||||
DEFAULT_CFLAGS_armeb=$(DEFAULT_CFLAGS_arm)
|
DEFAULT_CFLAGS_armeb=$(DEFAULT_CFLAGS_arm)
|
||||||
DEFAULT_CFLAGS=$(if $(DEFAULT_CFLAGS_$(ARCH)),$(DEFAULT_CFLAGS_$(ARCH)),-Os -pipe -funit-at-a-time)
|
DEFAULT_CFLAGS=$(if $(DEFAULT_CFLAGS_$(ARCH)),$(DEFAULT_CFLAGS_$(ARCH)),-Os -pipe -funit-at-a-time)
|
||||||
|
|
|
@ -65,6 +65,13 @@ config mips
|
||||||
config mipsel
|
config mipsel
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config mips64
|
||||||
|
select BIG_ENDIAN
|
||||||
|
bool
|
||||||
|
|
||||||
|
config mips64el
|
||||||
|
bool
|
||||||
|
|
||||||
config arm
|
config arm
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -118,6 +125,8 @@ config ARCH
|
||||||
default "m68k" if m68k
|
default "m68k" if m68k
|
||||||
default "mips" if mips
|
default "mips" if mips
|
||||||
default "mipsel" if mipsel
|
default "mipsel" if mipsel
|
||||||
|
default "mips64" if mips64
|
||||||
|
default "mips64el" if mips64el
|
||||||
default "powerpc" if powerpc
|
default "powerpc" if powerpc
|
||||||
default "sh3" if sh3
|
default "sh3" if sh3
|
||||||
default "sh3eb" if sh3eb
|
default "sh3eb" if sh3eb
|
||||||
|
|
|
@ -73,6 +73,7 @@ GCC_CONFIGURE:= \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
$(SOFT_FLOAT_CONFIG_OPTION) \
|
$(SOFT_FLOAT_CONFIG_OPTION) \
|
||||||
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
|
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
|
||||||
|
$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 --with-abi=64) \
|
||||||
|
|
||||||
ifneq ($(CONFIG_GCC_VERSION_4_3),)
|
ifneq ($(CONFIG_GCC_VERSION_4_3),)
|
||||||
GCC_BUILD_TARGET_LIBGCC:=y
|
GCC_BUILD_TARGET_LIBGCC:=y
|
||||||
|
@ -189,6 +190,7 @@ define Stage2/Configure
|
||||||
ln -sf ../include $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sys-include
|
ln -sf ../include $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sys-include
|
||||||
rm -rf $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
|
rm -rf $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
|
||||||
ln -sf ../lib $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
|
ln -sf ../lib $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
|
||||||
|
$(if $(CONFIG_mips64)$(CONFIG_mips64el),ln -sf ../lib64 $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib64)
|
||||||
(cd $(HOST_BUILD_DIR2); rm -f config.cache; \
|
(cd $(HOST_BUILD_DIR2); rm -f config.cache; \
|
||||||
$(GCC_CONFIGURE_STAGE2) \
|
$(GCC_CONFIGURE_STAGE2) \
|
||||||
);
|
);
|
||||||
|
|
|
@ -9,7 +9,7 @@ config GLIBC_VERSION
|
||||||
config GLIBC_PORTS
|
config GLIBC_PORTS
|
||||||
bool
|
bool
|
||||||
depends on USE_GLIBC
|
depends on USE_GLIBC
|
||||||
default y if GLIBC_VERSION_2_3_6 && (arm || armeb || mips || mipsel)
|
default y if GLIBC_VERSION_2_3_6 && (arm || armeb || mips || mipsel || mips64 || mips64el)
|
||||||
default y if GLIBC_VERSION_2_6_1 && (arm || armeb || mips || mipsel || powerpc)
|
default y if GLIBC_VERSION_2_6_1 && (arm || armeb || mips || mipsel || mips64 || mips64el || powerpc)
|
||||||
default y if GLIBC_VERSION_2_7 && (arm || armeb || mips || mipsel || powerpc)
|
default y if GLIBC_VERSION_2_7 && (arm || armeb || mips || mipsel || mips64 || mips64el || powerpc)
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -57,6 +57,7 @@ GLIBC_CONFIGURE:= \
|
||||||
--build=$(GNU_HOST_NAME) \
|
--build=$(GNU_HOST_NAME) \
|
||||||
--host=$(REAL_GNU_TARGET_NAME) \
|
--host=$(REAL_GNU_TARGET_NAME) \
|
||||||
--with-headers="$(TOOLCHAIN_DIR)/usr/include" \
|
--with-headers="$(TOOLCHAIN_DIR)/usr/include" \
|
||||||
|
$(if $(CONFIG_mips64)$(CONFIG_mips64el), --enable-kernel="2.6.0") \
|
||||||
--disable-debug \
|
--disable-debug \
|
||||||
--disable-profile \
|
--disable-profile \
|
||||||
--enable-add-ons="$(GLIBC_ADD_ONS)" \
|
--enable-add-ons="$(GLIBC_ADD_ONS)" \
|
||||||
|
|
|
@ -13,6 +13,7 @@ choice
|
||||||
|
|
||||||
config UCLIBC_VERSION_0_9_28
|
config UCLIBC_VERSION_0_9_28
|
||||||
bool "uClibc 0.9.28"
|
bool "uClibc 0.9.28"
|
||||||
|
depends !(mips64 || mips64el)
|
||||||
|
|
||||||
config UCLIBC_VERSION_0_9_29
|
config UCLIBC_VERSION_0_9_29
|
||||||
bool "uClibc 0.9.29"
|
bool "uClibc 0.9.29"
|
||||||
|
|
19
toolchain/uClibc/config-0.9.29/mips64
Normal file
19
toolchain/uClibc/config-0.9.29/mips64
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
ARCH_ANY_ENDIAN=y
|
||||||
|
ARCH_BIG_ENDIAN=y
|
||||||
|
ARCH_CFLAGS="-mno-split-addresses"
|
||||||
|
# ARCH_LITTLE_ENDIAN is not set
|
||||||
|
ARCH_WANTS_BIG_ENDIAN=y
|
||||||
|
# CONFIG_MIPS_ISA_1 is not set
|
||||||
|
# CONFIG_MIPS_ISA_2 is not set
|
||||||
|
# CONFIG_MIPS_ISA_3 is not set
|
||||||
|
# CONFIG_MIPS_ISA_4 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32 is not set
|
||||||
|
CONFIG_MIPS_ISA_MIPS64=y
|
||||||
|
# CONFIG_MIPS_N32_ABI is not set
|
||||||
|
CONFIG_MIPS_N64_ABI=y
|
||||||
|
# CONFIG_MIPS_O32_ABI is not set
|
||||||
|
DL_FINI_CRT_COMPAT=y
|
||||||
|
KERNEL_HEADERS="."
|
||||||
|
KERNEL_SOURCE="."
|
||||||
|
TARGET_ARCH="mips"
|
||||||
|
TARGET_mips=y
|
19
toolchain/uClibc/config-0.9.29/mips64el
Normal file
19
toolchain/uClibc/config-0.9.29/mips64el
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
ARCH_ANY_ENDIAN=y
|
||||||
|
# ARCH_BIG_ENDIAN is not set
|
||||||
|
ARCH_CFLAGS="-mno-split-addresses"
|
||||||
|
ARCH_LITTLE_ENDIAN=y
|
||||||
|
ARCH_WANTS_LITTLE_ENDIAN=y
|
||||||
|
# CONFIG_MIPS_ISA_1 is not set
|
||||||
|
# CONFIG_MIPS_ISA_2 is not set
|
||||||
|
# CONFIG_MIPS_ISA_3 is not set
|
||||||
|
# CONFIG_MIPS_ISA_4 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32 is not set
|
||||||
|
CONFIG_MIPS_ISA_MIPS64=y
|
||||||
|
# CONFIG_MIPS_N32_ABI is not set
|
||||||
|
CONFIG_MIPS_N64_ABI=y
|
||||||
|
# CONFIG_MIPS_O32_ABI is not set
|
||||||
|
DL_FINI_CRT_COMPAT=y
|
||||||
|
KERNEL_HEADERS="."
|
||||||
|
KERNEL_SOURCE="."
|
||||||
|
TARGET_ARCH="mips"
|
||||||
|
TARGET_mips=y
|
17
toolchain/uClibc/config-0.9.30/mips64
Normal file
17
toolchain/uClibc/config-0.9.30/mips64
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ARCH_ANY_ENDIAN=y
|
||||||
|
ARCH_BIG_ENDIAN=y
|
||||||
|
ARCH_CFLAGS="-mno-split-addresses"
|
||||||
|
ARCH_WANTS_BIG_ENDIAN=y
|
||||||
|
# CONFIG_MIPS_ISA_1 is not set
|
||||||
|
# CONFIG_MIPS_ISA_2 is not set
|
||||||
|
# CONFIG_MIPS_ISA_3 is not set
|
||||||
|
# CONFIG_MIPS_ISA_4 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32R2 is not set
|
||||||
|
CONFIG_MIPS_ISA_MIPS64=y
|
||||||
|
# CONFIG_MIPS_N32_ABI is not set
|
||||||
|
CONFIG_MIPS_N64_ABI=y
|
||||||
|
# CONFIG_MIPS_O32_ABI is not set
|
||||||
|
TARGET_ARCH="mips"
|
||||||
|
TARGET_mips=y
|
||||||
|
UCLIBC_HAS_FPU=y
|
17
toolchain/uClibc/config-0.9.30/mips64el
Normal file
17
toolchain/uClibc/config-0.9.30/mips64el
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ARCH_ANY_ENDIAN=y
|
||||||
|
ARCH_CFLAGS="-mno-split-addresses"
|
||||||
|
ARCH_LITTLE_ENDIAN=y
|
||||||
|
ARCH_WANTS_LITTLE_ENDIAN=y
|
||||||
|
# CONFIG_MIPS_ISA_1 is not set
|
||||||
|
# CONFIG_MIPS_ISA_2 is not set
|
||||||
|
# CONFIG_MIPS_ISA_3 is not set
|
||||||
|
# CONFIG_MIPS_ISA_4 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32R2 is not set
|
||||||
|
CONFIG_MIPS_ISA_MIPS64=y
|
||||||
|
# CONFIG_MIPS_N32_ABI is not set
|
||||||
|
CONFIG_MIPS_N64_ABI=y
|
||||||
|
# CONFIG_MIPS_O32_ABI is not set
|
||||||
|
TARGET_ARCH="mips"
|
||||||
|
TARGET_mips=y
|
||||||
|
UCLIBC_HAS_FPU=y
|
17
toolchain/uClibc/config-nptl/mips64
Normal file
17
toolchain/uClibc/config-nptl/mips64
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ARCH_ANY_ENDIAN=y
|
||||||
|
ARCH_BIG_ENDIAN=y
|
||||||
|
ARCH_CFLAGS="-mno-split-addresses"
|
||||||
|
ARCH_WANTS_BIG_ENDIAN=y
|
||||||
|
# CONFIG_MIPS_ISA_1 is not set
|
||||||
|
# CONFIG_MIPS_ISA_2 is not set
|
||||||
|
# CONFIG_MIPS_ISA_3 is not set
|
||||||
|
# CONFIG_MIPS_ISA_4 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32R2 is not set
|
||||||
|
CONFIG_MIPS_ISA_MIPS64=y
|
||||||
|
# CONFIG_MIPS_N32_ABI is not set
|
||||||
|
CONFIG_MIPS_N64_ABI=y
|
||||||
|
# CONFIG_MIPS_O32_ABI is not set
|
||||||
|
TARGET_ARCH="mips"
|
||||||
|
TARGET_mips=y
|
||||||
|
UCLIBC_HAS_FPU=y
|
17
toolchain/uClibc/config-nptl/mips64el
Normal file
17
toolchain/uClibc/config-nptl/mips64el
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ARCH_ANY_ENDIAN=y
|
||||||
|
ARCH_CFLAGS="-mno-split-addresses"
|
||||||
|
ARCH_LITTLE_ENDIAN=y
|
||||||
|
ARCH_WANTS_LITTLE_ENDIAN=y
|
||||||
|
# CONFIG_MIPS_ISA_1 is not set
|
||||||
|
# CONFIG_MIPS_ISA_2 is not set
|
||||||
|
# CONFIG_MIPS_ISA_3 is not set
|
||||||
|
# CONFIG_MIPS_ISA_4 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32 is not set
|
||||||
|
# CONFIG_MIPS_ISA_MIPS32R2 is not set
|
||||||
|
CONFIG_MIPS_ISA_MIPS64=y
|
||||||
|
# CONFIG_MIPS_N32_ABI is not set
|
||||||
|
CONFIG_MIPS_N64_ABI=y
|
||||||
|
# CONFIG_MIPS_O32_ABI is not set
|
||||||
|
TARGET_ARCH="mips"
|
||||||
|
TARGET_mips=y
|
||||||
|
UCLIBC_HAS_FPU=y
|
Loading…
Reference in a new issue