Attached is an updated patch against the -5 package that recently came
out. It also leaves out the dead patch that accidentally made it's
way into the previous submission.
I know I answered questions somewhat piecemeal, but I think I answered
them all. Were there any questions I neglected to answer?
Stuart
Stuart R. Anderson [EMAIL PROTECTED]
Network & Software Engineering http://www.netsweng.com/
1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F
BD03 0A62 E534 37A7 9149
Index: debian/rules.patch
===================================================================
--- debian/rules.patch (.../vendor/gcc-4.0/current) (revision 150)
+++ debian/rules.patch (.../src/gcc-4.0) (revision 150)
@@ -109,6 +109,7 @@
endif
ifneq (,$(findstring /$(DEB_TARGET_ARCH)/,/mips/mipsel/))
debian_patches += libffi-mips libmudflap-entry-point libmudflap-mips
+ debian_patches += mips-biarch
endif
ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd)
Index: debian/patches/mips-biarch.dpatch
===================================================================
--- debian/patches/mips-biarch.dpatch (.../vendor/gcc-4.0/current)
(revision 0)
+++ debian/patches/mips-biarch.dpatch (.../src/gcc-4.0) (revision 150)
@@ -0,0 +1,85 @@
+#! /bin/sh -e
+
+# DP: Patch author: Stuart Anderson <[EMAIL PROTECTED]>
+# DP: Upstream status: Not submitted
+# DP: Description: add full tri-arch support. Include linux64.h also fix up
+# DP: Description: the directory names so that o32 is the default and follow
+# DP: Description: the glibc convention for 32 & 64 bit names
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -c -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -c -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+*** src/gcc/config.gcc.bak Mon Oct 3 16:12:53 2005
+--- src/gcc/config.gcc Mon Oct 3 16:19:45 2005
+***************
+*** 1424,1430 ****
+ gas=yes
+ ;;
+ mips*-*-linux*) # Linux MIPS, either endian.
+! tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
+ case ${target} in
+ mipsisa32*-*)
+ target_cpu_default="MASK_SOFT_FLOAT"
+--- 1424,1431 ----
+ gas=yes
+ ;;
+ mips*-*-linux*) # Linux MIPS, either endian.
+! tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h
mips/linux64.h"
+! tmake_file="${tmake_file} mips/t-linux64"
+ case ${target} in
+ mipsisa32*-*)
+ target_cpu_default="MASK_SOFT_FLOAT"
+
+*** src/gcc/config/mips/linux64.h.bak Mon Oct 3 11:28:01 2005
+--- src/gcc/config/mips/linux64.h Mon Oct 3 11:28:29 2005
+***************
+*** 23,29 ****
+ in order to make the other specs easier to write. */
+ #define DRIVER_SELF_SPECS \
+ "%{!EB:%{!EL:%(endian_spec)}}", \
+! "%{!mabi=*: -mabi=n32}"
+
+ #undef SUBTARGET_ASM_SPEC
+ #define SUBTARGET_ASM_SPEC "\
+--- 23,29 ----
+ in order to make the other specs easier to write. */
+ #define DRIVER_SELF_SPECS \
+ "%{!EB:%{!EL:%(endian_spec)}}", \
+! "%{!mabi=*: -mabi=32}"
+
+ #undef SUBTARGET_ASM_SPEC
+ #define SUBTARGET_ASM_SPEC "\
+
+*** src/gcc/config/mips/t-linux64.orig Wed Oct 19 06:19:32 2005
+--- src/gcc/config/mips/t-linux64 Tue Oct 18 18:08:02 2005
+***************
+*** 1,5 ****
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+! MULTILIB_DIRNAMES = n32 32 64
+ MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
+
+ EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+--- 1,5 ----
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+! MULTILIB_DIRNAMES = 32 . 64
+ MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
+
+ EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
Property changes on: debian/patches/mips-biarch.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Index: debian/rules.defs
===================================================================
--- debian/rules.defs (.../vendor/gcc-4.0/current) (revision 150)
+++ debian/rules.defs (.../src/gcc-4.0) (revision 150)
@@ -611,7 +611,7 @@
biarch_cpu := $(patsubst $(DEB_TARGET_GNU_CPU)=%, %, \
$(filter $(DEB_TARGET_GNU_CPU)=%, $(biarch_map)))
-biarch_archs := /i386/powerpc/sparc/s390/
+biarch_archs := /i386/powerpc/sparc/s390/mips/mipsel/
ifeq (biarch, $(findstring biarch,$(WITHOUT_LANG)))
biarch_archs :=
endif
@@ -647,7 +647,7 @@
export TARGET64_MACHINE
endif
-biarch32_archs := /amd64/ppc64/
+biarch32_archs := /amd64/ppc64/mips/mipsel/
ifeq (biarch, $(findstring biarch,$(WITHOUT_LANG)))
biarch32_archs :=
endif
@@ -675,6 +675,12 @@
export TARGET64_MACHINE
endif
+ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),mips mipsel))
+ # on mips, we are really tri-arch
+ TARGET32_MACHINE := $(TARGET_ALIAS)
+ TARGET64_MACHINE := $(TARGET_ALIAS)
+endif
+
#ifeq ($(DEB_TARGET_ARCH),ia64)
# biarch32 := yes
#endif
@@ -713,6 +719,15 @@
with_64bit_check := $(shell CC="gcc -m64" sh debian/runcheck.sh)
endif
+# mips/mipsel build --------------------
+ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),mipsel))
+ export GNUTARGET = elf64-tradlittlemips
+endif
+ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),mips))
+ export GNUTARGET = elf64-tradbigmips
+endif
+
+
# GNU locales
force_gnu_locales := yes
locale_no_systems := gnu knetbsd-gnu netbsdelf-gnu
Index: debian/changelog
===================================================================
--- debian/changelog (.../vendor/gcc-4.0/current) (revision 150)
+++ debian/changelog (.../src/gcc-4.0) (revision 150)
@@ -1,3 +1,10 @@
+gcc-4.0 (4.0.2-5.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Enable triarch support for mips64
+
+ -- Stuart Anderson <[EMAIL PROTECTED]> Tue, 22 Nov 2005 08:17:31 -0600
+
gcc-4.0 (4.0.2-5) unstable; urgency=low
* Update to SVN 20051201, taken from the gcc-4_0-branch.
@@ -124,8 +131,22 @@
-- Matthias Klose <[EMAIL PROTECTED]> Sun, 23 Oct 2005 12:50:59 +0200
+gcc-4.0 (4.0.2-2.2a) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix TARGET32_MACHINE & TARGET64_MACHINE for tri-arch mode
+ * re-enable FORTRAN and ADA builds
+
+ -- Stuart Anderson <[EMAIL PROTECTED]> Sat, 5 Nov 2005 14:16:19 -0700
+
+gcc-4.0 (4.0.2-2.1a) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Enable triarch support for mips64
+
+ -- Stuart Anderson <[EMAIL PROTECTED]> Wed, 12 Oct 2005 18:34:52 -0600
+
gcc-4.0 (4.0.2-2) unstable; urgency=low
-
* Update to CVS 20051001, taken from the gcc-4_0-branch. Includes the
changes between 4.0.2 RC3 and the final 4.0.2 release, missing from
the upstream tarball. Remove patches applied upstream (gcc-c-decl,
Index: debian/rules.conf
===================================================================
--- debian/rules.conf (.../vendor/gcc-4.0/current) (revision 150)
+++ debian/rules.conf (.../src/gcc-4.0) (revision 150)
@@ -63,7 +63,7 @@
#PASCAL_BUILD_DEP := libncurses5-dev [pascal_no_archs], tetex-bin
[pascal_no_archs], libgmp3-dev [pascal_no_archs], help2man [pascal_no_archs],
-LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc],
libc6-dev-s390x [s390], libc6-dev-i386 [amd64] | ia32-libs-dev [amd64],
libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], lib32gcc1 [amd64 ppc64],
lib64gcc1 [i386 powerpc sparc s390], lib64z1-dev [i386 powerpc sparc s390],
lib32z1-dev [amd64],
+LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc],
libc6-dev-s390x [s390], libc6-dev-i386 [amd64] | ia32-libs-dev [amd64],
libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], lib32gcc1 [amd64 ppc64],
lib64gcc1 [i386 powerpc sparc s390], lib64z1-dev [i386 powerpc sparc s390],
lib32z1-dev [amd64], libc6-dev-mipsn32 [mips mipsel], libc6-dev-mipsn64 [mips
mipsel],
#ifeq ($(PKGSOURCE),gcc-snapshot)
# LIBC_BIARCH_BUILD_DEP =
@@ -89,6 +89,10 @@
LIBC_BIARCH_DEP := libc6-s390x (>= $(libc_ver))
LIBC_BIARCH_DEV_DEP := libc6-dev-s390x (>= $(libc_ver))
endif
+ ifneq (, $(filter $(DEB_TARGET_ARCH),mips mipsel))
+ LIBC_BIARCH_DEP := libc6-mipsn64 (>= $(libc_ver))
+ LIBC_BIARCH_DEV_DEP := libc6-dev-mipsn64 (>= $(libc_ver))
+ endif
LIBCXX_BIARCH_DEP = lib64stdc++$(CXX_SONAME)
endif
ifeq ($(biarch32),yes)
@@ -105,6 +109,10 @@
LIBC_BIARCH_DEP := libc6-powerpc (>= $(libc_ver))
LIBC_BIARCH_DEV_DEP := libc6-dev-powerpc (>= $(libc_ver))
endif
+ ifneq (, $(filter $(DEB_TARGET_ARCH),mips mipsel))
+ LIBC_BIARCH_DEP := libc6-mipsn32 (>= $(libc_ver))
+ LIBC_BIARCH_DEV_DEP := libc6-dev-mipsn32 (>= $(libc_ver))
+ endif
LIBCXX_BIARCH_DEP = lib32stdc++$(CXX_SONAME)
endif
@@ -281,7 +289,7 @@
libgcc libffi libfortran libgcj libgcjdev libgnat libnof \
libobjc libs lib64gcc lib64cxx lib64ffi lib64gcj lib64gnat \
lib64objc lib32objc lib64gfortran lib32gfortran lib32gcj \
- libnof objcdev proto lib32gcc mudflap
+ libnof objcdev proto lib32gcc lib32cxx lib32ffi lib32gnat mudflap
ifeq ($(with_separate_libgcj),yes)
ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
addons := $(filter-out gcj libgcj libgcjdev lib32gcj lib64gcj,$(addons))