/usr/src/gcc-4.4/debian/patches/mips-triarch.diff is in gcc-4.4-source 4.4.7-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # DP: Build a tri-arch compiler on mips-linux-gnu.
# DP: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01047.html
2009-23-03 Arthur Loiret <aloiret@debian.org>
* config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build
a tri-arch compiler defaulting to 32-bit (ABI o32). In this case:
(tm_file): Add mips/linux64.h.
(tmake_file): Add mips/t-linux64.
(tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
* config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT
instead of hardcoded mabi=n32.
---
gcc/config.gcc | 7 ++++++-
gcc/config/mips/linux64.h | 2 +-
gcc/config/mips/t-linux64 | 4 ++++
3 files changed, 11 insertions(+), 2 deletions(-)
Index: b/src/gcc/config.gcc
===================================================================
--- a/src/gcc/config.gcc
+++ b/src/gcc/config.gcc
@@ -1591,8 +1591,14 @@
test x$with_llsc != x || with_llsc=yes
;;
mips*-*-linux*) # Linux MIPS, either endian.
- tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
tmake_file="${tmake_file} mips/t-libgcc-mips16"
+ if test x$enable_targets = xall; then
+ tm_file="${tm_file} mips/linux64.h"
+ tmake_file="${tmake_file} mips/t-linux64"
+ else
+ tmake_file="${tmake_file} mips/t-linux"
+ fi
case ${target} in
mipsisa32r2*)
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
Index: b/src/gcc/config/mips/linux64.h
===================================================================
--- a/src/gcc/config/mips/linux64.h
+++ b/src/gcc/config/mips/linux64.h
@@ -26,7 +26,7 @@
BASE_DRIVER_SELF_SPECS, \
LINUX_DRIVER_SELF_SPECS \
" %{!EB:%{!EL:%(endian_spec)}}" \
- " %{!mabi=*: -mabi=n32}"
+ " %{!mabi=*: -" MULTILIB_ABI_DEFAULT "}"
#undef LIB_SPEC
#define LIB_SPEC "\
--- a/src/gcc/config/mips/t-linux
+++ b/src/gcc/config/mips/t-linux
@@ -0,0 +1,2 @@
+MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+MULTIARCH_DIRNAME = mips$(MIPS_EL)-linux-gnu
|