I refreshed this patch with 2.19-1. Tested on mips64el device, build successfully.
Sphinx
diff -Nru eglibc-2.19/debian/changelog eglibc-2.19/debian/changelog --- eglibc-2.19/debian/changelog 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/changelog 2014-06-09 07:49:54.000000000 +0000 @@ -1,3 +1,9 @@ +eglibc (2.19-1+mips64el) UNRELEASED; urgency=medium + + * refresh mips64/mips64el/mipsn32/mipsn32el support with 2.19-1 + + -- Sphinx Jiang <yishan...@gmail.com> Mon, 09 Jun 2014 07:15:04 +0000 + eglibc (2.19-1) unstable; urgency=medium [ Aurelien Jarno ] diff -Nru eglibc-2.19/debian/control eglibc-2.19/debian/control --- eglibc-2.19/debian/control 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/control 2014-06-09 07:42:04.000000000 +0000 @@ -3,12 +3,12 @@ Priority: required Build-Depends: gettext, dpkg-dev (>= 1.16.0), xz-utils, file, quilt, autoconf, gawk, debhelper (>= 7.4.3), rdfind, symlinks, netbase, - 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.9) [mips64 mips64el], libaudit-dev [linux-any], libcap-dev [linux-any], libselinux-dev [linux-any], systemtap-sdt-dev [linux-any], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 1:0.5.git20140320~) [hurd-i386], gnumach-dev (>= 2:1.4-2~) [hurd-i386], kfreebsd-kernel-headers [kfreebsd-any], binutils (>= 2.21), - g++-4.8, g++-4.8-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390x sparc sparc64 x32] + g++-4.8, g++-4.8-multilib [amd64 i386 kfreebsd-amd64 mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc ppc64 s390x sparc sparc64 x32] Build-Depends-Indep: perl, po-debconf (>= 1.0) Maintainer: GNU Libc Maintainers <debian-gl...@lists.debian.org> Uploaders: Clint Adams <cl...@debian.org>, Aurelien Jarno <aure...@debian.org>, Adam Conrad <adcon...@0c3.net> @@ -135,7 +135,7 @@ 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 ppc64el sparc sparc64 s390x sh4 x32 +Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 Section: libs Priority: required Multi-Arch: same @@ -153,6 +153,9 @@ libc6-ppc64 [ppc64], libc6-s390x [s390x], libc6-sparc64 [sparc64], + libc6-mips64 [mips64 mips64el], + libc6-mipsn32 [mipsn32 mipsn32el], + libc6-mips32 [mips mipsel], hurd (<< 20120408-3) [hurd-i386] Description: Embedded GNU C Library: Shared libraries Contains the standard libraries that are used by nearly all programs on @@ -160,7 +163,7 @@ 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 ppc64el sparc sparc64 s390x sh4 x32 +Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 Section: libdevel Priority: optional Multi-Arch: same @@ -176,7 +179,7 @@ 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 ppc64el sparc sparc64 s390x sh4 x32 +Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 Section: debug Priority: extra Multi-Arch: same @@ -187,7 +190,7 @@ library. Package: libc6-prof -Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 +Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 Section: libdevel Priority: extra Multi-Arch: same @@ -197,7 +200,7 @@ with gprof. Package: libc6-pic -Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 +Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 Section: libdevel Priority: optional Multi-Arch: same @@ -212,7 +215,7 @@ Package: libc6-udeb XC-Package-Type: udeb -Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 +Architecture: amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 Section: debian-installer Priority: extra Provides: libc6, libc-udeb, ${locale-compat:Depends} @@ -243,6 +246,9 @@ libc6-ppc64 [ppc64], libc6-s390x [s390x], libc6-sparc64 [sparc64], + libc6-mips64 [mips64 mips64el], + libc6-mipsn32 [mipsn32 mipsn32el], + libc6-mips32 [mips mipsel], hurd (<< 20120408-3) [hurd-i386] Description: Embedded GNU C Library: Shared libraries Contains the standard libraries that are used by nearly all programs on @@ -333,6 +339,9 @@ libc6-ppc64 [ppc64], libc6-s390x [s390x], libc6-sparc64 [sparc64], + libc6-mips64 [mips64 mips64el], + libc6-mipsn32 [mipsn32 mipsn32el], + libc6-mips32 [mips mipsel], hurd (<< 20120408-3) [hurd-i386] Description: Embedded GNU C Library: Shared libraries Contains the standard libraries that are used by nearly all programs on @@ -423,6 +432,9 @@ libc6-ppc64 [ppc64], libc6-s390x [s390x], libc6-sparc64 [sparc64], + libc6-mips64 [mips64 mips64el], + libc6-mipsn32 [mipsn32 mipsn32el], + libc6-mips32 [mips mipsel], hurd (<< 20120408-3) [hurd-i386] Description: Embedded GNU C Library: Shared libraries Contains the standard libraries that are used by nearly all programs on @@ -665,8 +677,35 @@ 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} @@ -676,13 +715,13 @@ 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 @@ -690,7 +729,7 @@ 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} @@ -700,7 +739,7 @@ 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 -Nru eglibc-2.19/debian/control.in/libc eglibc-2.19/debian/control.in/libc --- eglibc-2.19/debian/control.in/libc 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/control.in/libc 2014-06-09 05:27:56.000000000 +0000 @@ -17,6 +17,9 @@ libc6-ppc64 [ppc64], libc6-s390x [s390x], libc6-sparc64 [sparc64], + libc6-mips64 [mips64 mips64el], + libc6-mipsn32 [mipsn32 mipsn32el], + libc6-mips32 [mips mipsel], hurd (<< 20120408-3) [hurd-i386] Description: Embedded GNU C Library: Shared libraries Contains the standard libraries that are used by nearly all programs on diff -Nru eglibc-2.19/debian/control.in/main eglibc-2.19/debian/control.in/main --- eglibc-2.19/debian/control.in/main 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/control.in/main 2014-06-09 06:10:25.000000000 +0000 @@ -3,12 +3,12 @@ Priority: required Build-Depends: gettext, dpkg-dev (>= 1.16.0), xz-utils, file, quilt, autoconf, gawk, debhelper (>= 7.4.3), rdfind, symlinks, netbase, - 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.9) [mips64 mips64el], libaudit-dev [linux-any], libcap-dev [linux-any], libselinux-dev [linux-any], systemtap-sdt-dev [linux-any], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 1:0.5.git20140320~) [hurd-i386], gnumach-dev (>= 2:1.4-2~) [hurd-i386], kfreebsd-kernel-headers [kfreebsd-any], binutils (>= 2.21), - g++-4.8, g++-4.8-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390x sparc sparc64 x32] + g++-4.8, g++-4.8-multilib [amd64 i386 kfreebsd-amd64 mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc ppc64 s390x sparc sparc64 x32] Build-Depends-Indep: perl, po-debconf (>= 1.0) Maintainer: GNU Libc Maintainers <debian-gl...@lists.debian.org> Uploaders: Clint Adams <cl...@debian.org>, Aurelien Jarno <aure...@debian.org>, Adam Conrad <adcon...@0c3.net> diff -Nru eglibc-2.19/debian/control.in/mips32 eglibc-2.19/debian/control.in/mips32 --- eglibc-2.19/debian/control.in/mips32 1970-01-01 00:00:00.000000000 +0000 +++ eglibc-2.19/debian/control.in/mips32 2014-06-09 05:27:56.000000000 +0000 @@ -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 -Nru eglibc-2.19/debian/control.in/mips64 eglibc-2.19/debian/control.in/mips64 --- eglibc-2.19/debian/control.in/mips64 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/control.in/mips64 2014-06-09 05:27:56.000000000 +0000 @@ -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 @@ 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 -Nru eglibc-2.19/debian/control.in/mipsn32 eglibc-2.19/debian/control.in/mipsn32 --- eglibc-2.19/debian/control.in/mipsn32 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/control.in/mipsn32 2014-06-09 05:27:56.000000000 +0000 @@ -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 @@ 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 -Nru eglibc-2.19/debian/rules.d/control.mk eglibc-2.19/debian/rules.d/control.mk --- eglibc-2.19/debian/rules.d/control.mk 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/rules.d/control.mk 2014-06-09 05:27:56.000000000 +0000 @@ -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 ppc64el sparc sparc64 s390x sh4 x32 +libc6_archs := amd64 arm arm64 armel armhf hppa i386 m68k mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc powerpcspe ppc64 ppc64el sparc sparc64 s390x sh4 x32 libc6_1_archs := alpha ia64 control_deps := $(wildcard debian/control.in/*) $(addprefix debian/control.in/, $(libc_packages)) @@ -33,6 +33,7 @@ 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 -Nru eglibc-2.19/debian/rules.d/debhelper.mk eglibc-2.19/debian/rules.d/debhelper.mk --- eglibc-2.19/debian/rules.d/debhelper.mk 2014-06-04 19:50:40.000000000 +0000 +++ eglibc-2.19/debian/rules.d/debhelper.mk 2014-06-09 05:27:56.000000000 +0000 @@ -223,7 +223,7 @@ 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)" \ @@ -240,6 +240,9 @@ if [ "$$s" != "$$t" ] ; then \ cp $$s $$t ; \ fi ; \ + if [ "$$suffix" = "-mips32" ] ; then \ + sed -e '/ld.so.conf.d /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 -Nru eglibc-2.19/debian/sysdeps/mips64el.mk eglibc-2.19/debian/sysdeps/mips64el.mk --- eglibc-2.19/debian/sysdeps/mips64el.mk 1970-01-01 00:00:00.000000000 +0000 +++ eglibc-2.19/debian/sysdeps/mips64el.mk 2014-06-09 05:27:56.000000000 +0000 @@ -0,0 +1,54 @@ +libc_add-ons = ports nptl $(add-ons) +libc_rtlddir = /lib64 + +# 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 -Nru eglibc-2.19/debian/sysdeps/mips64.mk eglibc-2.19/debian/sysdeps/mips64.mk --- eglibc-2.19/debian/sysdeps/mips64.mk 1970-01-01 00:00:00.000000000 +0000 +++ eglibc-2.19/debian/sysdeps/mips64.mk 2014-06-09 05:27:56.000000000 +0000 @@ -0,0 +1,54 @@ +libc_add-ons = ports nptl $(add-ons) +libc_rtlddir = /lib64 + +# 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 -Nru eglibc-2.19/debian/sysdeps/mipsn32el.mk eglibc-2.19/debian/sysdeps/mipsn32el.mk --- eglibc-2.19/debian/sysdeps/mipsn32el.mk 1970-01-01 00:00:00.000000000 +0000 +++ eglibc-2.19/debian/sysdeps/mipsn32el.mk 2014-06-09 05:27:56.000000000 +0000 @@ -0,0 +1,54 @@ +libc_add-ons = ports nptl $(add-ons) +libc_rtlddir = /lib32 + +# 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 diff -Nru eglibc-2.19/debian/sysdeps/mipsn32.mk eglibc-2.19/debian/sysdeps/mipsn32.mk --- eglibc-2.19/debian/sysdeps/mipsn32.mk 1970-01-01 00:00:00.000000000 +0000 +++ eglibc-2.19/debian/sysdeps/mipsn32.mk 2014-06-09 05:27:56.000000000 +0000 @@ -0,0 +1,54 @@ +libc_add-ons = ports nptl $(add-ons) +libc_rtlddir = /lib32 + +# 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 + +end