[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

tri-arch - round 2




Thank's for the comments I received (esp Thiemo) on the last set of patches.

I've made the suggested changes, fixed another bug or two, and synced up
with the newer packages that have come out since then. Attached are new
patches for gcc & glibc.

Again, I've been testing this on LE, but have tried to be mindful to
make changes for BE also.

I've built the Linux Test Project packages for o32, n32, and n64 with these
versions of gcc-4.0 and glibc. Overall, things seem to be working pretty
well, but there are some problems remaining in areas that interface w/
the kernel, like ptrace() and some of the signal structures. I'm still
digging into these.

Additional comments would be appreciated.

                                Stuart

Stuart R. Anderson                               anderson@netsweng.com
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 145)
+++ debian/rules.patch	(.../src/gcc-4.0)	(revision 145)
@@ -102,6 +102,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 145)
@@ -0,0 +1,85 @@
+#! /bin/sh -e
+
+# DP: Patch author: Stuart Anderson <anderson@netsweng.com>
+# 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/patches/biarch-include-mips.dpatch
===================================================================
--- debian/patches/biarch-include-mips.dpatch	(.../vendor/gcc-4.0/current)	(revision 0)
+++ debian/patches/biarch-include-mips.dpatch	(.../src/gcc-4.0)	(revision 145)
@@ -0,0 +1,59 @@
+#! /bin/sh -e
+
+# DP: mips-biarch-include.dpatch
+# DP:
+# DP: Adds biarch include directory (/usr/include/{mips/mips64}-linux-gnu)
+# DP: to the system include paths, depending on 32/64 bit mode.
+
+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 -f --no-backup-if-mismatch -p0 < $0
+        ;;
+    -unpatch)
+        patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+        ;;
+    *)
+        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+        exit 1
+esac
+exit 0
+
+--- gcc/Makefile.in~	2005-04-04 21:45:13.000000000 +0200
++++ gcc/Makefile.in	2005-07-08 21:04:29.808308064 +0200
+@@ -2680,6 +2680,8 @@
+   -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
+   -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
+   -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
++  -DTARGET32_MACHINE=\"mips-linux-gnu\" \
++  -DTARGET64_MACHINE=\"mips64-linux-gnu\" \
+   @TARGET_SYSTEM_ROOT_DEFINE@
+ 
+ cppdefault.o: cppdefault.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+
+--- gcc/cppdefault.c~	2004-11-03 03:23:49.000000000 +0000
++++ gcc/cppdefault.c	2005-07-09 10:19:46.762899104 +0000
+@@ -50,9 +70,15 @@
+     /* Pick up GNU C++ generic include files.  */
+     { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 0 },
+ #endif
++#if defined (CROSS_COMPILE)
++    /* Pick up GNU C++ target-dependent include files.  */
++    { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0, 32 },
++#else
+ #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
+     /* Pick up GNU C++ target-dependent include files.  */
+-    { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0 },
++    { GPLUSPLUS_INCLUDE_DIR "/" TARGET32_MACHINE, "G++", 1, 1, 0, 32 },
++    { GPLUSPLUS_INCLUDE_DIR "/" TARGET64_MACHINE, "G++", 1, 1, 0, 64 },
++#endif
+ #endif
+ #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
+     /* Pick up GNU C++ backward and deprecated include files.  */

Property changes on: debian/patches/biarch-include-mips.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Index: debian/rules.defs
===================================================================
--- debian/rules.defs	(.../vendor/gcc-4.0/current)	(revision 145)
+++ debian/rules.defs	(.../src/gcc-4.0)	(revision 145)
@@ -568,7 +568,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 (/$(DEB_TARGET_ARCH)/,$(findstring /$(DEB_TARGET_ARCH)/,$(biarch_archs)))
   biarch := yes
   with_lib64gcc	:= yes
@@ -591,7 +591,7 @@
   export TARGET64_MACHINE
 endif
 
-biarch32_archs := /amd64/ppc64/
+biarch32_archs := /amd64/ppc64/mips/mipsel/
 ifeq (/$(DEB_TARGET_ARCH)/,$(findstring /$(DEB_TARGET_ARCH)/,$(biarch32_archs)))
   biarch32 := yes
   with_lib32gcc := yes
@@ -610,6 +610,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
@@ -670,6 +676,15 @@
   endif
 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 145)
+++ debian/changelog	(.../src/gcc-4.0)	(revision 145)
@@ -1,3 +1,10 @@
+gcc-4.0 (4.0.2-4.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Enable triarch support for mips64 
+
+ -- Stuart Anderson <anderson@realmsys.com>  Tue, 22 Nov 2005 08:17:31 -0600
+
 gcc-4.0 (4.0.2-4) unstable; urgency=low
 
   * Configure libstdc++ using the default allocator. Background:
@@ -72,8 +79,22 @@
 
  -- Matthias Klose <doko@debian.org>  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 <anderson@realmsys.com>  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 <anderson@realmsys.com>  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 145)
+++ debian/rules.conf	(.../src/gcc-4.0)	(revision 145)
@@ -57,7 +57,7 @@
 JAVA_BUILD_DEP := xlibs-dev [java_no_archs], libgtk2.0-dev (>= 2.4.4-2) [java_no_archs], libart-2.0-dev [java_no_archs], libcairo2-dev [java_no_archs],
 #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 =
@@ -83,6 +83,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)
@@ -99,6 +103,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
 
@@ -264,7 +272,8 @@
   languages = ada c c++ f95 java objc pascal treelang
   addons = cdev c++dev fastjar fdev fixincl javadev libcxx libg2c \
 	   libgcc libffi libfortran libgcj libgnat libnof libobjc libs \
-	   lib64gcc lib64cxx lib64ffi lib64gcj lib64gnat \
+	   lib64gcc lib32gcc lib64cxx lib32cxx lib64ffi lib32ffi \
+	   lib64gcj lib32gcj lib64gnat lib32gnat \
 	   lib64objc lib32objc lib64gfortran lib32gfortran \
 	   libnof objcdev proto
 endif
Index: debian/control
===================================================================
--- debian/control	(.../vendor/glibc/current)	(revision 144)
+++ debian/control	(.../src/glibc)	(revision 144)
@@ -424,6 +424,49 @@
  which use the standard C library. This is the 64bit version of the
  library, meant for PowerPC64 systems.
 
+Package: libc6-mipsn32
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Conflicts: libc6-mips32
+Description: GNU C Library: n32 Shared libraries for MIPS
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the n32 version
+ of the library, meant for MIPS systems.
+
+Package: libc6-dev-mipsn32
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn32c-dev
+Depends: libc6-mipsn32 (= ${Source-Version}), libc6-dev (= ${Source-Version}), lib32gcc1
+Description: GNU C Library: n32 Development Libraries for MIPS
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the n32 version of the
+ library, meant for MIPS systems.
+
+Package: libc6-mipsn64
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Description: GNU C Library: 64bit Shared libraries for MIPS64
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the 64bit version
+ of the library, meant for MIPS64 systems.
+
+Package: libc6-dev-mipsn64
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn64c-dev
+Depends: libc6-mipsn64 (= ${Source-Version}), libc6-dev (= ${Source-Version}), lib64gcc1
+Description: GNU C Library: 64bit Development Libraries for MIPS64
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the 64bit version of the
+ library, meant for MIPS64 systems.
+
 Package: libc6-sparcv9
 Architecture: sparc
 Section: libs
Index: debian/control.in/mips64
===================================================================
--- debian/control.in/mips64	(.../vendor/glibc/current)	(revision 0)
+++ debian/control.in/mips64	(.../src/glibc)	(revision 144)
@@ -0,0 +1,21 @@
+Package: libc6-mipsn64
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Description: GNU C Library: 64bit Shared libraries for MIPS64
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the 64bit version
+ of the library, meant for MIPS64 systems.
+
+Package: libc6-dev-mipsn64
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn64c-dev
+Depends: libc6-mipsn64 (= ${Source-Version}), libc6-dev (= ${Source-Version}), lib64gcc1
+Description: GNU C Library: 64bit Development Libraries for MIPS64
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the 64bit version of the
+ library, meant for MIPS64 systems.
+
Index: debian/control.in/mips32
===================================================================
--- debian/control.in/mips32	(.../vendor/glibc/current)	(revision 0)
+++ debian/control.in/mips32	(.../src/glibc)	(revision 144)
@@ -0,0 +1,22 @@
+Package: libc6-mipsn32
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Conflicts: libc6-mips32
+Description: GNU C Library: n32 Shared libraries for MIPS
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the n32 version
+ of the library, meant for MIPS systems.
+
+Package: libc6-dev-mipsn32
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn32c-dev
+Depends: libc6-mipsn32 (= ${Source-Version}), libc6-dev (= ${Source-Version}), lib32gcc1
+Description: GNU C Library: n32 Development Libraries for MIPS
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the n32 version of the
+ library, meant for MIPS systems.
+
Index: debian/changelog
===================================================================
--- debian/changelog	(.../vendor/glibc/current)	(revision 144)
+++ debian/changelog	(.../src/glibc)	(revision 144)
@@ -1,3 +1,10 @@
+glibc (2.3.5-8.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Enable mips multilib support 
+
+ -- Stuart Anderson <anderson@realmsys.com>  Tue, 22 Nov 2005 12:00:47 -0600
+
 glibc (2.3.5-8) unstable; urgency=low
 
   * Add missing build dependency on libc6-dev-ppc64 on powerpc.
@@ -15,6 +22,21 @@
 
  -- Daniel Jacobowitz <dan@debian.org>  Sat, 12 Nov 2005 19:15:29 -0500
 
+glibc (2.3.5-7.2a) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Rename packages from -mips32/mips64 to -mipsn32/mipsn64 per suggestion
+    from debian-mips list. 
+
+ -- Stuart Anderson <anderson@helix01>  Sat,  5 Nov 2005 15:37:09 -0700
+
+glibc (2.3.5-7.1a) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Enable mips multilib support 
+
+ -- Stuart Anderson <anderson@realmsys.com>  Wed, 12 Oct 2005 13:56:30 -0600
+
 glibc (2.3.5-7) unstable; urgency=low
 
   [ GOTO Masanori ]
Index: debian/patches/00list
===================================================================
--- debian/patches/00list	(.../vendor/glibc/current)	(revision 144)
+++ debian/patches/00list	(.../src/glibc)	(revision 144)
@@ -91,3 +91,4 @@
 hppa-fenv-align
 sparc64-tls
 eh-frame-terminator
+mips-ptrace
Index: debian/patches/mips-ptrace.dpatch
===================================================================
--- debian/patches/mips-ptrace.dpatch	(.../vendor/glibc/current)	(revision 0)
+++ debian/patches/mips-ptrace.dpatch	(.../src/glibc)	(revision 144)
@@ -0,0 +1,82 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: Add the 32-on-64 PTRACE commands
+# DP: Related bugs: 
+# DP: Dpatch author: 
+# DP: Patch author: STuart Anderson <anderson@netsweng.com>
+# DP: Upstream status: Not submitted
+# DP: Status Details: 
+# DP: Date: Tue Nov 29 06:39:08 MST 2005
+
+PATCHLEVEL=0
+
+if [ $# -ne 2 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;;
+    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
+    *)
+	echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+	exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+*** ptrace.h.orig	Tue Nov 29 11:05:00 2005
+--- ptrace.h	Tue Nov 29 11:05:06 2005
+***************
+*** 110,118 ****
+     PTRACE_SETFPXREGS = 19,
+  #define PT_SETFPXREGS PTRACE_SETFPXREGS
+  
+    /* Continue and stop at the next (return from) syscall.  */
+!   PTRACE_SYSCALL = 24
+  #define PT_SYSCALL PTRACE_SYSCALL
+  };
+  
+  /* Perform process tracing functions.  REQUEST is one of the values
+--- 110,150 ----
+     PTRACE_SETFPXREGS = 19,
+  #define PT_SETFPXREGS PTRACE_SETFPXREGS
+  
++   /* */
++   PTRACE_OLDSETOPTIONS = 21,
++ #define PT_OLDSETOPTIONS PTRACE_OLDSETOPTIONS
++ 
+    /* Continue and stop at the next (return from) syscall.  */
+!   PTRACE_SYSCALL = 24,
+  #define PT_SYSCALL PTRACE_SYSCALL
++ 
++   /* */
++   PTRACE_GET_THREAD_AREA = 25,
++ #define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
++ 
++   /* */
++   PTRACE_SET_THREAD_AREA = 26,
++ #define PT_SET_THREAD_AREA PTRACE_SET_THREAD_AREA
++ 
++   /* 32-on-64 version */
++   PTRACE_PEEKTEXT_3264 = 0xc0,
++ #define PT_PEEKTEXT_3264 PTRACE_PEEKTEXT_3264
++ 
++   /* 32-on-64 version */
++   PTRACE_PEEKDATA_3264 = 0xc1,
++ #define PT_PEEKDATA_3264 PTRACE_PEEKDATA_3264
++ 
++   /* 32-on-64 version */
++   PTRACE_POKETEXT_3264 = 0xc2,
++ #define PT_POKETEXT_3264 PTRACE_POKETEXT_3264
++ 
++   /* 32-on-64 version */
++   PTRACE_POKEDATA_3264 = 0xc3,
++ #define PT_POKEDATA_3264 PTRACE_POKEDATA_3264
++ 
++   /* 32-on-64 version */
++   PTRACE_GET_THREAD_AREA_3264 = 0xc4
++ #define PT_GET_THREAD_AREA_3264 PTRACE_GET_THREAD_AREA_3264
+  };
+  
+  /* Perform process tracing functions.  REQUEST is one of the values
Index: debian/sysdeps/mipsel.mk
===================================================================
--- debian/sysdeps/mipsel.mk	(.../vendor/glibc/current)	(revision 0)
+++ debian/sysdeps/mipsel.mk	(.../src/glibc)	(revision 144)
@@ -0,0 +1,29 @@
+GLIBC_PASSES += mipsn64 mipsn32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn64 libc6-dev-mipsn64 libc6-mipsn32 libc6-dev-mipsn32
+# This is needed to keep binutils (ar & ranlib) from getting confused about
+# the file format being used.
+export GNUTARGET=elf64-tradlittlemips
+
+mipsn32_MIN_KERNEL_SUPPORTED = 2.6.0
+mipsn32_configure_target = mips64-linux
+mipsn32_CC = $(CC) -mabi=n32
+mipsn32_extra_cflags = 
+mipsn32_add-ons = linuxthreads $(add-ons)
+libc6-mipsn32_shlib_dep = libc6-mipsn32 (>= $(shlib_dep_ver))
+mipsn32_LIBDIR = 32
+mipsn32_extra_config_options := $(extra_config_options) --with-__thread --disable-profile
+
+mipsn64_MIN_KERNEL_SUPPORTED = 2.6.0
+mipsn64_configure_target = mips64-linux
+mipsn64_CC = $(CC) -mabi=64
+mipsn64_extra_cflags = 
+mipsn64_add-ons = linuxthreads $(add-ons)
+libc6-mipsn64_shlib_dep = libc6-mipsn64 (>= $(shlib_dep_ver))
+mipsn64_LIBDIR = 64
+mipsn64_extra_config_options := $(extra_config_options) --with-__thread --disable-profile
+
+# Need to put a tri-arch awaare version of ldd in the base package
+define mipsn32_extra_install
+cp debian/tmp-mipsn32/usr/bin/ldd debian/tmp-libc/usr/bin
+endef
+
Index: debian/sysdeps/mips.mk
===================================================================
--- debian/sysdeps/mips.mk	(.../vendor/glibc/current)	(revision 0)
+++ debian/sysdeps/mips.mk	(.../src/glibc)	(revision 144)
@@ -0,0 +1,29 @@
+GLIBC_PASSES += mipsn64 mipsn32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn64 libc6-dev-mipsn64 libc6-mipsn32 libc6-dev-mipsn32
+# This is needed to keep binutils (ar & ranlib) from getting confused about
+# the file format being used.
+export GNUTARGET=elf64-tradbigmips
+
+mipsn32_MIN_KERNEL_SUPPORTED = 2.6.0
+mipsn32_configure_target = mips64-linux
+mipsn32_CC = $(CC) -mabi=n32
+mipsn32_extra_cflags = 
+mipsn32_add-ons = linuxthreads $(add-ons)
+libc6-mipsn32_shlib_dep = libc6-mipsn32 (>= $(shlib_dep_ver))
+mipsn32_LIBDIR = 32
+mipsn32_extra_config_options := $(extra_config_options) --with-__thread --disable-profile
+
+mipsn64_MIN_KERNEL_SUPPORTED = 2.6.0
+mipsn64_configure_target = mips64-linux
+mipsn64_CC = $(CC) -mabi=64
+mipsn64_extra_cflags = 
+mipsn64_add-ons = linuxthreads $(add-ons)
+libc6-mipsn64_shlib_dep = libc6-mipsn64 (>= $(shlib_dep_ver))
+mipsn64_LIBDIR = 64
+mipsn64_extra_config_options := $(extra_config_options) --with-__thread --disable-profile
+
+# Need to put a tri-arch awaare version of ldd in the base package
+define mipsn32_extra_install
+cp debian/tmp-mipsn32/usr/bin/ldd debian/tmp-libc/usr/bin
+endef
+
Index: debian/rules.d/debhelper.mk
===================================================================
--- debian/rules.d/debhelper.mk	(.../vendor/glibc/current)	(revision 144)
+++ debian/rules.d/debhelper.mk	(.../src/glibc)	(revision 144)
@@ -193,7 +193,7 @@
 	  destdir=$$1; \
 	  shift; \
 	  z=debian/$(libc)-$$x.install; \
-	  if test $$destdir = 64; then \
+	  if test $$destdir = 64 -o $$destdir = 32 ; then \
 	    cp debian/debhelper.in/libc-alt.install $$z; \
 	    zd=debian/$(libc)-dev-$$x.install; \
 	    cp debian/debhelper.in/libc-alt-dev.install $$zd; \
Index: debian/rules.d/control.mk
===================================================================
--- debian/rules.d/control.mk	(.../vendor/glibc/current)	(revision 144)
+++ debian/rules.d/control.mk	(.../src/glibc)	(revision 144)
@@ -1,4 +1,4 @@
-control_deps := $(addprefix debian/control.in/, libc6 libc6.1 libc0.3 libc1 sparc64 s390x ppc64 opt amd64)
+control_deps := $(addprefix debian/control.in/, libc6 libc6.1 libc0.3 libc1 sparc64 s390x ppc64 opt amd64 mips32 mips64)
 
 threads_archs := alpha amd64 arm armeb i386 m68k mips mipsel powerpc sparc ia64 hppa s390 sh3 sh4 sh3eb sh4eb freebsd-i386
 
@@ -26,6 +26,8 @@
 	cat debian/control.in/s390x		>> $@T
 	cat debian/control.in/amd64		>> $@T
 	cat debian/control.in/ppc64		>> $@T
+	cat debian/control.in/mips32		>> $@T
+	cat debian/control.in/mips64		>> $@T
 	cat debian/control.in/opt		>> $@T
 	cat debian/control.in/libnss-dns-udeb	>> $@T
 	cat debian/control.in/libnss-files-udeb	>> $@T

Reply to: