mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
Defaults to n64 ABI (From OE-Core rev: 253f1f3aebd1a90c55efcc6d1f585204e7f3c371) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -74,6 +74,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
|
|||||||
file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
|
file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
|
||||||
file://fortran-cross-compile-hack.patch \
|
file://fortran-cross-compile-hack.patch \
|
||||||
file://cpp-honour-sysroot.patch \
|
file://cpp-honour-sysroot.patch \
|
||||||
|
file://mips64-default-n64.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
|
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
MIPS64 defaults to n32 ABI, this patch makes it
|
||||||
|
so that it defaults to N64 ABI
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [OE config specific]
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Index: gcc-4_6-branch/gcc/config.gcc
|
||||||
|
===================================================================
|
||||||
|
--- gcc-4_6-branch.orig/gcc/config.gcc 2012-04-22 19:12:12.431061229 -0700
|
||||||
|
+++ gcc-4_6-branch/gcc/config.gcc 2012-04-22 19:13:36.307065289 -0700
|
||||||
|
@@ -1882,7 +1882,7 @@
|
||||||
|
mips64*-*-linux* | mipsisa64*-*-linux*)
|
||||||
|
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/linux.h mips/linux64.h"
|
||||||
|
tmake_file="${tmake_file} mips/t-linux64 mips/t-libgcc-mips16"
|
||||||
|
- tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
|
||||||
|
+ tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_64"
|
||||||
|
case ${target} in
|
||||||
|
mips64el-st-linux-gnu)
|
||||||
|
tm_file="${tm_file} mips/st.h"
|
||||||
|
Index: gcc-4_6-branch/gcc/config/mips/linux64.h
|
||||||
|
===================================================================
|
||||||
|
--- gcc-4_6-branch.orig/gcc/config/mips/linux64.h 2012-04-22 19:10:59.743057711 -0700
|
||||||
|
+++ gcc-4_6-branch/gcc/config/mips/linux64.h 2012-04-22 19:11:56.919060479 -0700
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
BASE_DRIVER_SELF_SPECS, \
|
||||||
|
LINUX_DRIVER_SELF_SPECS \
|
||||||
|
" %{!EB:%{!EL:%(endian_spec)}}" \
|
||||||
|
- " %{!mabi=*: -mabi=n32}"
|
||||||
|
+ " %{!mabi=*: -mabi=64}"
|
||||||
|
|
||||||
|
#undef LIB_SPEC
|
||||||
|
#define LIB_SPEC "\
|
||||||
@@ -64,6 +64,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
|
|||||||
file://fortran-cross-compile-hack.patch \
|
file://fortran-cross-compile-hack.patch \
|
||||||
file://libgcc-sjlj-check.patch \
|
file://libgcc-sjlj-check.patch \
|
||||||
file://cpp-honor-sysroot.patch \
|
file://cpp-honor-sysroot.patch \
|
||||||
|
file://mips64-default-n64.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
|
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
MIPS64 defaults to n32 ABI, this patch makes it
|
||||||
|
so that it defaults to N64 ABI
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [OE config specific]
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Index: gcc-4_7-branch/gcc/config.gcc
|
||||||
|
===================================================================
|
||||||
|
--- gcc-4_7-branch.orig/gcc/config.gcc 2012-04-22 19:30:21.000000000 -0700
|
||||||
|
+++ gcc-4_7-branch/gcc/config.gcc 2012-04-22 21:09:57.783403173 -0700
|
||||||
|
@@ -1750,7 +1750,7 @@
|
||||||
|
mips64*-*-linux* | mipsisa64*-*-linux*)
|
||||||
|
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h"
|
||||||
|
tmake_file="${tmake_file} mips/t-linux64"
|
||||||
|
- tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
|
||||||
|
+ tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_64"
|
||||||
|
case ${target} in
|
||||||
|
mips64el-st-linux-gnu)
|
||||||
|
tm_file="${tm_file} mips/st.h"
|
||||||
@@ -49,6 +49,10 @@ EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) !=
|
|||||||
# Build uclibc compilers without cxa_atexit support
|
# Build uclibc compilers without cxa_atexit support
|
||||||
EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"
|
EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"
|
||||||
EXTRA_OECONF_append_libc-uclibc = " --enable-__cxa_atexit"
|
EXTRA_OECONF_append_libc-uclibc = " --enable-__cxa_atexit"
|
||||||
|
|
||||||
|
EXTRA_OECONF_append_mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
|
||||||
|
EXTRA_OECONF_append_mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
|
||||||
|
|
||||||
EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"
|
EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"
|
||||||
CPPFLAGS = ""
|
CPPFLAGS = ""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user