diff --git a/debian/control b/debian/control
index f3e4541..450682b 100644
--- a/debian/control
+++ b/debian/control
@@ -3,14 +3,14 @@ Section: libs
 Priority: required
 Build-Depends: gettext, dpkg-dev (>= 1.16.0), bzip2, xz-utils, file, quilt,
  autoconf, gawk, debhelper (>= 7.4.3), rdfind, symlinks,
- linux-libc-dev (>= 3.2.1) [linux-any], linux-libc-dev (>= 3.4) [amd64 i386 x32],
+ linux-libc-dev (>= 3.2.1) [linux-any], linux-libc-dev (>= 3.4) [amd64 i386 x32], linux-libc-dev (>= 3.10~rc3) [mips64 mips64el],
  libaudit-dev [linux-any], libcap-dev [linux-any], libselinux-dev [linux-any],
  mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20120520-2~) [hurd-i386], gnumach-dev (>= 2:1.3.99.dfsg.git20120923~) [hurd-i386],
  kfreebsd-kernel-headers [kfreebsd-any],
  binutils (>= 2.21),
  g++-4.6 [ia64],
  g++-4.7 (>= 4.7.3-4) [kfreebsd-amd64],
- g++-4.8 [arm64],
+ g++-4.8 [arm64], g++-4.8-multilib [mipsn32 mipsn32el mips64 mips64el],
  g++-4.7 (>= 4.7.2-11), g++-4.7-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc sparc64 x32]
 Build-Depends-Indep: perl, po-debconf (>= 1.0)
 Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
@@ -138,7 +138,7 @@ Description: Transitional package to ensure multiarch compatibility
  be removed once nothing on the system depends on it.
 
 Package: libc6
-Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
+Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mips64 mips64el mipsn32 mipsn32el powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libs
 Priority: required
 Multi-Arch: same
@@ -163,7 +163,7 @@ Description: Embedded GNU C Library: Shared libraries
  and the standard math library, as well as many others.
 
 Package: libc6-dev
-Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
+Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mips64 mips64el mipsn32 mipsn32el powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libdevel
 Priority: optional
 Multi-Arch: same
@@ -179,7 +179,7 @@ Description: Embedded GNU C Library: Development Libraries and Header Files
  and link programs which use the standard C library.
 
 Package: libc6-dbg
-Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
+Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mips64 mips64el mipsn32 mipsn32el powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: debug
 Priority: extra
 Multi-Arch: same
@@ -190,7 +190,7 @@ Description: Embedded GNU C Library: detached debugging symbols
  library.
 
 Package: libc6-prof
-Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
+Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel mips64 mips64el mipsn32 mipsn32el powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libdevel
 Priority: extra
 Multi-Arch: same
@@ -200,7 +200,7 @@ Description: Embedded GNU C Library: Profiling Libraries
  with gprof.
 
 Package: libc6-pic
-Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
+Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mips64 mips64el mipsn32 mipsn32el powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libdevel
 Priority: optional
 Multi-Arch: same
@@ -215,7 +215,7 @@ Description: Embedded GNU C Library: PIC archive library
 
 Package: libc6-udeb
 XC-Package-Type: udeb
-Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
+Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mips64 mips64el mipsn32 mipsn32el powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: debian-installer
 Priority: extra
 Provides: libc6, libc-udeb, ${locale-compat:Depends}
@@ -694,8 +694,35 @@ Description: Embedded GNU C Library: 64bit Development Libraries for PowerPC64
  which use the standard C library. This is the 64bit version of the
  library, meant for PowerPC64 systems.
 
+Package: libc6-mips32
+Architecture: mipsn32 mipsn32el mips64 mips64el
+Section: libs
+Priority: optional
+Depends: libc6 (= ${binary:Version}), ${misc:Depends}
+Description: Embedded GNU C Library: o32 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 o32 version
+ of the library, meant for MIPS64 systems.
+
+Package: libc6-dev-mips32
+Architecture: mipsn32 mipsn32el mips64 mips64el
+Section: libdevel
+Priority: optional
+Provides: lib32c-dev
+Conflicts: libc6-dev (<< 2.13-14)
+Replaces: libc6-dev (<< 2.13-11)
+Depends: libc6-dev (= ${binary:Version}), libc6-mips32 (= ${binary:Version}),
+   libc6-dev-mipsn32 (= ${binary:Version}) [mips64 mips64el],
+   libc6-dev-mips64 (= ${binary:Version}) [mipsn32 mipsn32el],
+   ${misc:Depends}
+Recommends: gcc-multilib
+Description: Embedded GNU C Library: o32 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 o32 version of the
+ library, meant for MIPS64 systems.
+
 Package: libc6-mipsn32
-Architecture: mips mipsel
+Architecture: mips mipsel mips64 mips64el
 Section: libs
 Priority: optional
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -705,13 +732,13 @@ Description: Embedded GNU C Library: n32 Shared libraries for MIPS64
  of the library, meant for MIPS64 systems.
 
 Package: libc6-dev-mipsn32
-Architecture: mips mipsel
+Architecture: mips mipsel mips64 mips64el
 Section: libdevel
 Priority: optional
 Provides: libn32c-dev
 Conflicts: libc6-dev (<< 2.13-14)
 Replaces: libc6-dev (<< 2.13-11)
-Depends: libc6-mipsn32 (= ${binary:Version}), libc6-dev-mips64 (= ${binary:Version}), ${misc:Depends}
+Depends: libc6-mipsn32 (= ${binary:Version}), libc6-dev-mips64 (= ${binary:Version}) [mips mipsel], libc6-dev (= ${binary:Version}), ${misc:Depends}
 Recommends: gcc-multilib
 Description: Embedded GNU C Library: n32 Development Libraries for MIPS64
  Contains the symlinks and object files needed to compile and link programs
@@ -719,7 +746,7 @@ Description: Embedded GNU C Library: n32 Development Libraries for MIPS64
  library, meant for MIPS64 systems.
 
 Package: libc6-mips64
-Architecture: mips mipsel
+Architecture: mips mipsel mipsn32 mipsn32el
 Section: libs
 Priority: optional
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -729,7 +756,7 @@ Description: Embedded GNU C Library: 64bit Shared libraries for MIPS64
  of the library, meant for MIPS64 systems.
 
 Package: libc6-dev-mips64
-Architecture: mips mipsel
+Architecture: mips mipsel mipsn32 mipsn32el
 Section: libdevel
 Priority: optional
 Provides: lib64c-dev
diff --git a/debian/control.in/main b/debian/control.in/main
index 343605a..2740556 100644
--- a/debian/control.in/main
+++ b/debian/control.in/main
@@ -10,7 +10,7 @@ Build-Depends: gettext, dpkg-dev (>= 1.16.0), bzip2, xz-utils, file, quilt,
  binutils (>= 2.21),
  g++-4.6 [ia64],
  g++-4.7 (>= 4.7.3-4) [kfreebsd-amd64],
- g++-4.8 [arm64],
+ g++-4.8 [arm64], g++-4.8-multilib [mipsn32 mipsn32el mips64 mips64el],
  g++-4.7 (>= 4.7.2-11), g++-4.7-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc sparc64 x32]
 Build-Depends-Indep: perl, po-debconf (>= 1.0)
 Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
diff --git a/debian/control.in/mips32 b/debian/control.in/mips32
new file mode 100644
index 0000000..f68e3db
--- /dev/null
+++ b/debian/control.in/mips32
@@ -0,0 +1,27 @@
+Package: libc6-mips32
+Architecture: mipsn32 mipsn32el mips64 mips64el
+Section: libs
+Priority: optional
+Depends: libc6 (= ${binary:Version}), ${misc:Depends}
+Description: Embedded GNU C Library: o32 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 o32 version
+ of the library, meant for MIPS64 systems.
+
+Package: libc6-dev-mips32
+Architecture: mipsn32 mipsn32el mips64 mips64el
+Section: libdevel
+Priority: optional
+Provides: lib32c-dev
+Conflicts: libc6-dev (<< 2.13-14)
+Replaces: libc6-dev (<< 2.13-11)
+Depends: libc6-dev (= ${binary:Version}), libc6-mips32 (= ${binary:Version}),
+   libc6-dev-mipsn32 (= ${binary:Version}) [mips64 mips64el],
+   libc6-dev-mips64 (= ${binary:Version}) [mipsn32 mipsn32el],
+   ${misc:Depends}
+Recommends: gcc-multilib
+Description: Embedded GNU C Library: o32 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 o32 version of the
+ library, meant for MIPS64 systems.
+
diff --git a/debian/control.in/mips64 b/debian/control.in/mips64
index de28a13..8d04821 100644
--- a/debian/control.in/mips64
+++ b/debian/control.in/mips64
@@ -1,5 +1,5 @@
 Package: libc6-mips64
-Architecture: mips mipsel
+Architecture: mips mipsel mipsn32 mipsn32el
 Section: libs
 Priority: optional
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -9,7 +9,7 @@ Description: Embedded GNU C Library: 64bit Shared libraries for MIPS64
  of the library, meant for MIPS64 systems.
 
 Package: libc6-dev-mips64
-Architecture: mips mipsel
+Architecture: mips mipsel mipsn32 mipsn32el
 Section: libdevel
 Priority: optional
 Provides: lib64c-dev
diff --git a/debian/control.in/mipsn32 b/debian/control.in/mipsn32
index 2887b60..7982de6 100644
--- a/debian/control.in/mipsn32
+++ b/debian/control.in/mipsn32
@@ -1,5 +1,5 @@
 Package: libc6-mipsn32
-Architecture: mips mipsel
+Architecture: mips mipsel mips64 mips64el
 Section: libs
 Priority: optional
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -9,13 +9,13 @@ Description: Embedded GNU C Library: n32 Shared libraries for MIPS64
  of the library, meant for MIPS64 systems.
 
 Package: libc6-dev-mipsn32
-Architecture: mips mipsel
+Architecture: mips mipsel mips64 mips64el
 Section: libdevel
 Priority: optional
 Provides: libn32c-dev
 Conflicts: libc6-dev (<< 2.13-14)
 Replaces: libc6-dev (<< 2.13-11)
-Depends: libc6-mipsn32 (= ${binary:Version}), libc6-dev-mips64 (= ${binary:Version}), ${misc:Depends}
+Depends: libc6-mipsn32 (= ${binary:Version}), libc6-dev-mips64 (= ${binary:Version}) [mips mipsel], libc6-dev (= ${binary:Version}), ${misc:Depends}
 Recommends: gcc-multilib
 Description: Embedded GNU C Library: n32 Development Libraries for MIPS64
  Contains the symlinks and object files needed to compile and link programs
diff --git a/debian/rules b/debian/rules
index 0e656f7..b5f2f13 100755
--- a/debian/rules
+++ b/debian/rules
@@ -182,6 +182,7 @@ NODEBUG_libc6-amd64 = 1
 NODEBUG_libc6-i386 = 1
 NODEBUG_libc6-x32 = 1
 NODEBUG_libc6-mipsn32 = 1
+NODEBUG_libc6-mips32 = 1
 NODEBUG_libc6-powerpc = 1
 NODEBUG_libc6-ppc64 = 1
 NODEBUG_libc6-s390 = 1
diff --git a/debian/rules.d/build.mk b/debian/rules.d/build.mk
index db361e7..cec5472 100644
--- a/debian/rules.d/build.mk
+++ b/debian/rules.d/build.mk
@@ -227,7 +227,7 @@ else
 	# the multiarch ld.so doesn't look at the (non-standard) /lib32, so we
 	# need path compatibility when biarch and multiarch packages are both
 	# installed.
-	case $(call xx,slibdir) in /lib32 | /lib64 | /libx32) \
+	case $(call xx,slibdir) in /lib32 | /lib64 | /libx32 | /lib) \
 	  mkdir -p debian/tmp-$(curpass)/etc/ld.so.conf.d; \
 	  conffile="debian/tmp-$(curpass)/etc/ld.so.conf.d/zz_$(curpass)-biarch-compat.conf"; \
 	  echo "# Legacy biarch compatibility support" > $$conffile; \
diff --git a/debian/rules.d/control.mk b/debian/rules.d/control.mk
index 5be693d..7af817a 100644
--- a/debian/rules.d/control.mk
+++ b/debian/rules.d/control.mk
@@ -1,7 +1,7 @@
 libc_packages := libc6 libc6.1 libc0.1 libc0.3
 libc0_1_archs := kfreebsd-amd64 kfreebsd-i386
 libc0_3_archs := hurd-i386
-libc6_archs   := amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
+libc6_archs   := amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mips64 mips64el mipsn32 mipsn32el powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 libc6_1_archs := alpha ia64
 
 control_deps := $(wildcard debian/control.in/*) $(addprefix debian/control.in/, $(libc_packages))
@@ -34,6 +34,7 @@ $(stamp)control: debian/rules.d/control.mk $(control_deps)
 	cat debian/control.in/amd64		>> $@T
 	cat debian/control.in/powerpc		>> $@T
 	cat debian/control.in/ppc64		>> $@T
+	cat debian/control.in/mips32		>> $@T
 	cat debian/control.in/mipsn32		>> $@T
 	cat debian/control.in/mips64		>> $@T
 	cat debian/control.in/armhf		>> $@T
diff --git a/debian/rules.d/debhelper.mk b/debian/rules.d/debhelper.mk
index 978e4bb..7b3e266 100644
--- a/debian/rules.d/debhelper.mk
+++ b/debian/rules.d/debhelper.mk
@@ -222,7 +222,7 @@ $(stamp)debhelper_%: $(stamp)debhelper-common $(stamp)install_%
 	    pass="" \
 	    suffix="" \
 	    ;; \
-	  *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \
+	  *:/lib32 | *:/lib64 | *:/libx32 | *:/lib | *:/lib/arm-linux-gnueabi*) \
 	    templates="libc libc-dev" \
 	    pass="-alt" \
 	    suffix="-$(curpass)" \
@@ -239,6 +239,9 @@ $(stamp)debhelper_%: $(stamp)debhelper-common $(stamp)install_%
 	    if [ "$$s" != "$$t" ] ; then \
 	      cp $$s $$t ; \
 	    fi ; \
+		if [ "$$suffix" = "-mips32" ] ; then \
+		   sed -e '/ld.so.conf.d /etc/d' -i $$t; \
+	    fi ; \
 	    sed -e "s#TMPDIR#debian/tmp-$$curpass#g" -i $$t; \
 	    sed -e "s#RTLDDIR#$$rtlddir#g" -i $$t; \
 	    sed -e "s#SLIBDIR#$$slibdir#g" -i $$t; \
diff --git a/debian/sysdeps/mips64.mk b/debian/sysdeps/mips64.mk
new file mode 100644
index 0000000..c162449
--- /dev/null
+++ b/debian/sysdeps/mips64.mk
@@ -0,0 +1,57 @@
+libc_add-ons = ports nptl $(add-ons)
+libc_rtlddir = /lib64
+
+CC = $(DEB_HOST_GNU_TYPE)-$(BASE_CC)-4.8
+CXX = $(DEB_HOST_GNU_TYPE)-$(BASE_CXX)-4.8
+
+# build 32-bit (n32) alternative library
+EGLIBC_PASSES += mipsn32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn32 libc6-dev-mipsn32
+mipsn32_add-ons = ports nptl $(add-ons)
+mipsn32_configure_target = mips64-linux-gnuabin32
+mipsn32_CC = $(CC) -mabi=n32 -mno-plt
+mipsn32_CXX = $(CXX) -mabi=n32 -mno-plt
+libc6-mipsn32_shlib_dep = libc6-mipsn32 (>= $(shlib_dep_ver))
+mipsn32_rtlddir = /lib32
+mipsn32_slibdir = /lib32
+mipsn32_libdir = /usr/lib32
+mipsn32_extra_config_options := $(extra_config_options) --disable-profile
+
+# build 32-bit (o32) alternative library
+EGLIBC_PASSES += mips32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mips32 libc6-dev-mips32
+mips32_add-ons = ports nptl $(add-ons)
+mips32_configure_target = mips-linux-gnu
+mips32_CC = $(CC) -mabi=32 -mno-plt
+mips32_CXX = $(CXX) -mabi=32 -mno-plt
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /lib
+mips32_libdir = /usr/lib
+mips32_extra_config_options := $(extra_config_options) --disable-profile
+
+define libc6-dev-mipsn32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mipsn32/usr/include
+ln -s mips64-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
+ln -s mips64-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
+ln -s mips64-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
+
+mkdir -p debian/libc6-dev-mipsn32/usr/include/mips64-linux-gnuabi64/gnu
+cp -a debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
+        debian/libc6-dev-mipsn32/usr/include/mips64-linux-gnuabi64/gnu
+
+mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
+for i in `ls debian/tmp-libc/usr/include/mips64-linux-gnuabi64/sys` ; do \
+        ln -s ../mips64-linux-gnuabi64/sys/$$i debian/libc6-dev-mipsn32/usr/include/sys/$$i ; \
+done
+
+endef
+
+define libc6-dev-mips32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabi64/gnu
+cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+        debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabi64/gnu
+
+endef
diff --git a/debian/sysdeps/mips64el.mk b/debian/sysdeps/mips64el.mk
new file mode 100644
index 0000000..9809336
--- /dev/null
+++ b/debian/sysdeps/mips64el.mk
@@ -0,0 +1,57 @@
+libc_add-ons = ports nptl $(add-ons)
+libc_rtlddir = /lib64
+
+CC = $(DEB_HOST_GNU_TYPE)-$(BASE_CC)-4.8
+CXX = $(DEB_HOST_GNU_TYPE)-$(BASE_CXX)-4.8
+
+# build 32-bit (n32) alternative library
+EGLIBC_PASSES += mipsn32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn32 libc6-dev-mipsn32
+mipsn32_add-ons = ports nptl $(add-ons)
+mipsn32_configure_target = mips64el-linux-gnuabin32
+mipsn32_CC = $(CC) -mabi=n32 -mno-plt
+mipsn32_CXX = $(CXX) -mabi=n32 -mno-plt
+libc6-mipsn32_shlib_dep = libc6-mipsn32 (>= $(shlib_dep_ver))
+mipsn32_rtlddir = /lib32
+mipsn32_slibdir = /lib32
+mipsn32_libdir = /usr/lib32
+mipsn32_extra_config_options := $(extra_config_options) --disable-profile
+
+# build 32-bit (o32) alternative library
+EGLIBC_PASSES += mips32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mips32 libc6-dev-mips32
+mips32_add-ons = ports nptl $(add-ons)
+mips32_configure_target = mipsel-linux-gnu
+mips32_CC = $(CC) -mabi=32 -mno-plt
+mips32_CXX = $(CXX) -mabi=32 -mno-plt
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /lib
+mips32_libdir = /usr/lib
+mips32_extra_config_options := $(extra_config_options) --disable-profile
+
+define libc6-dev-mipsn32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mipsn32/usr/include
+ln -s mips64el-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
+ln -s mips64el-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
+ln -s mips64el-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
+
+mkdir -p debian/libc6-dev-mipsn32/usr/include/mips64el-linux-gnuabi64/gnu
+cp -a debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
+        debian/libc6-dev-mipsn32/usr/include/mips64el-linux-gnuabi64/gnu
+
+mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
+for i in `ls debian/tmp-libc/usr/include/mips64el-linux-gnuabi64/sys` ; do \
+        ln -s ../mips64el-linux-gnuabi64/sys/$$i debian/libc6-dev-mipsn32/usr/include/sys/$$i ; \
+done
+
+endef
+
+define libc6-dev-mips32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabi64/gnu
+cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+        debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabi64/gnu
+
+endef
diff --git a/debian/sysdeps/mipsn32.mk b/debian/sysdeps/mipsn32.mk
new file mode 100644
index 0000000..af0fde1
--- /dev/null
+++ b/debian/sysdeps/mipsn32.mk
@@ -0,0 +1,57 @@
+libc_add-ons = ports nptl $(add-ons)
+libc_rtlddir = /lib32
+
+CC = $(DEB_HOST_GNU_TYPE)-$(BASE_CC)-4.8
+CXX = $(DEB_HOST_GNU_TYPE)-$(BASE_CXX)-4.8
+
+# build 64 alternative library
+EGLIBC_PASSES += mips64
+DEB_ARCH_REGULAR_PACKAGES += libc6-mips64 libc6-dev-mips64
+mips64_add-ons = ports nptl $(add-ons)
+mips64_configure_target = mips64-linux-gnuabi64
+mips64_CC = $(CC) -mabi=64 -mno-plt
+mips64_CXX = $(CXX) -mabi=64 -mno-plt
+libc6-mips64_shlib_dep = libc6-mips64 (>= $(shlib_dep_ver))
+mips64_rtlddir = /lib64
+mips64_slibdir = /lib64
+mips64_libdir = /usr/lib64
+mips64_extra_config_options := $(extra_config_options) --disable-profile
+
+# build 32-bit (o32) alternative library
+EGLIBC_PASSES += mips32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mips32 libc6-dev-mips32
+mips32_add-ons = ports nptl $(add-ons)
+mips32_configure_target = mips-linux-gnu
+mips32_CC = $(CC) -mabi=32 -mno-plt
+mips32_CXX = $(CXX) -mabi=32 -mno-plt
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /lib
+mips32_libdir = /usr/lib
+mips32_extra_config_options := $(extra_config_options) --disable-profile
+
+define libc6-dev-mips64_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mips64/usr/include
+ln -s mips64-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
+ln -s mips64-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
+ln -s mips64-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
+
+mkdir -p debian/libc6-dev-mips64/usr/include/mips64-linux-gnuabin32/gnu
+cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
+        debian/libc6-dev-mips64/usr/include/mips64-linux-gnuabin32/gnu
+
+mkdir -p debian/libc6-dev-mips64/usr/include/sys
+for i in `ls debian/tmp-libc/usr/include/mips64-linux-gnuabin32/sys` ; do \
+        ln -s ../mips64-linux-gnuabin32/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
+done
+
+endef
+
+define libc6-dev-mips32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabin32/gnu
+cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+        debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabin32/gnu
+
+endef
diff --git a/debian/sysdeps/mipsn32el.mk b/debian/sysdeps/mipsn32el.mk
new file mode 100644
index 0000000..04b5396
--- /dev/null
+++ b/debian/sysdeps/mipsn32el.mk
@@ -0,0 +1,57 @@
+libc_add-ons = ports nptl $(add-ons)
+libc_rtlddir = /lib32
+
+CC = $(DEB_HOST_GNU_TYPE)-$(BASE_CC)-4.8
+CXX = $(DEB_HOST_GNU_TYPE)-$(BASE_CXX)-4.8
+
+# build 64 alternative library
+EGLIBC_PASSES += mips64
+DEB_ARCH_REGULAR_PACKAGES += libc6-mips64 libc6-dev-mips64
+mips64_add-ons = ports nptl $(add-ons)
+mips64_configure_target = mips64el-linux-gnuabi64
+mips64_CC = $(CC) -mabi=64 -mno-plt
+mips64_CXX = $(CXX) -mabi=64 -mno-plt
+libc6-mips64_shlib_dep = libc6-mips64 (>= $(shlib_dep_ver))
+mips64_rtlddir = /lib64
+mips64_slibdir = /lib64
+mips64_libdir = /usr/lib64
+mips64_extra_config_options := $(extra_config_options) --disable-profile
+
+# build 32-bit (o32) alternative library
+EGLIBC_PASSES += mips32
+DEB_ARCH_REGULAR_PACKAGES += libc6-mips32 libc6-dev-mips32
+mips32_add-ons = ports nptl $(add-ons)
+mips32_configure_target = mipsel-linux-gnu
+mips32_CC = $(CC) -mabi=32 -mno-plt
+mips32_CXX = $(CXX) -mabi=32 -mno-plt
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /lib
+mips32_libdir = /usr/lib
+mips32_extra_config_options := $(extra_config_options) --disable-profile
+
+define libc6-dev-mips64_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mips64/usr/include
+ln -s mips64el-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
+ln -s mips64el-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
+ln -s mips64el-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
+
+mkdir -p debian/libc6-dev-mips64/usr/include/mips64el-linux-gnuabin32/gnu
+cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
+        debian/libc6-dev-mips64/usr/include/mips64el-linux-gnuabin32/gnu
+
+mkdir -p debian/libc6-dev-mips64/usr/include/sys
+for i in `ls debian/tmp-libc/usr/include/mips64el-linux-gnuabin32/sys` ; do \
+        ln -s ../mips64el-linux-gnuabin32/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
+done
+
+endef
+
+define libc6-dev-mips32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabin32/gnu
+cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+        debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabin32/gnu
+
+endef
