add a modified version of the mips64 patch from #4603

SVN-Revision: 15249
This commit is contained in:
Felix Fietkau 2009-04-18 17:03:55 +00:00
parent 24aedf8281
commit 56164a5815
19 changed files with 201 additions and 4 deletions

View File

@ -53,7 +53,7 @@ ifneq (,$(findstring uml,$(BOARD)))
LINUX_KARCH=um
else
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

28
include/site/mips64-linux Normal file
View 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

View File

@ -0,0 +1,5 @@
#!/bin/sh
. $TOPDIR/include/site/mips64-linux
. $TOPDIR/include/site/linux-gnu

View File

@ -0,0 +1,5 @@
#!/bin/sh
. $TOPDIR/include/site/mips64-linux
. $TOPDIR/include/site/linux-uclibc

View 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

View File

@ -0,0 +1,5 @@
#!/bin/sh
. $TOPDIR/include/site/mips64-linux
. $TOPDIR/include/site/linux-gnu

View File

@ -0,0 +1,5 @@
#!/bin/sh
. $TOPDIR/include/site/mips64-linux
. $TOPDIR/include/site/linux-uclibc

View File

@ -155,6 +155,8 @@ ifeq ($(DUMP),1)
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_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_armeb=$(DEFAULT_CFLAGS_arm)
DEFAULT_CFLAGS=$(if $(DEFAULT_CFLAGS_$(ARCH)),$(DEFAULT_CFLAGS_$(ARCH)),-Os -pipe -funit-at-a-time)

View File

@ -65,6 +65,13 @@ config mips
config mipsel
bool
config mips64
select BIG_ENDIAN
bool
config mips64el
bool
config arm
bool
@ -118,6 +125,8 @@ config ARCH
default "m68k" if m68k
default "mips" if mips
default "mipsel" if mipsel
default "mips64" if mips64
default "mips64el" if mips64el
default "powerpc" if powerpc
default "sh3" if sh3
default "sh3eb" if sh3eb

View File

@ -73,6 +73,7 @@ GCC_CONFIGURE:= \
--disable-nls \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 --with-abi=64) \
ifneq ($(CONFIG_GCC_VERSION_4_3),)
GCC_BUILD_TARGET_LIBGCC:=y
@ -189,6 +190,7 @@ define Stage2/Configure
ln -sf ../include $(TOOLCHAIN_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sys-include
rm -rf $(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; \
$(GCC_CONFIGURE_STAGE2) \
);

View File

@ -9,7 +9,7 @@ config GLIBC_VERSION
config GLIBC_PORTS
bool
depends on USE_GLIBC
default y if GLIBC_VERSION_2_3_6 && (arm || armeb || mips || mipsel)
default y if GLIBC_VERSION_2_6_1 && (arm || armeb || mips || mipsel || powerpc)
default y if GLIBC_VERSION_2_7 && (arm || armeb || mips || mipsel || powerpc)
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 || mips64 || mips64el || powerpc)
default y if GLIBC_VERSION_2_7 && (arm || armeb || mips || mipsel || mips64 || mips64el || powerpc)
default n

View File

@ -57,6 +57,7 @@ GLIBC_CONFIGURE:= \
--build=$(GNU_HOST_NAME) \
--host=$(REAL_GNU_TARGET_NAME) \
--with-headers="$(TOOLCHAIN_DIR)/usr/include" \
$(if $(CONFIG_mips64)$(CONFIG_mips64el), --enable-kernel="2.6.0") \
--disable-debug \
--disable-profile \
--enable-add-ons="$(GLIBC_ADD_ONS)" \

View File

@ -13,6 +13,7 @@ choice
config UCLIBC_VERSION_0_9_28
bool "uClibc 0.9.28"
depends !(mips64 || mips64el)
config UCLIBC_VERSION_0_9_29
bool "uClibc 0.9.29"

View 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

View 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

View 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

View 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

View 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

View 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