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

Reply via email to