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 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
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_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)

View file

@ -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

View file

@ -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) \
); );

View file

@ -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

View file

@ -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)" \

View file

@ -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"

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