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

r6143 - in glibc-package/trunk/debian: . control.in rules.d sysdeps



Author: aurel32
Date: 2014-06-11 20:35:48 +0000 (Wed, 11 Jun 2014)
New Revision: 6143

Added:
   glibc-package/trunk/debian/control.in/mips32
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/control
   glibc-package/trunk/debian/control.in/libc
   glibc-package/trunk/debian/control.in/mips64
   glibc-package/trunk/debian/control.in/mipsn32
   glibc-package/trunk/debian/rules.d/build.mk
   glibc-package/trunk/debian/rules.d/control.mk
   glibc-package/trunk/debian/rules.d/debhelper.mk
   glibc-package/trunk/debian/sysdeps/mips.mk
   glibc-package/trunk/debian/sysdeps/mips64.mk
   glibc-package/trunk/debian/sysdeps/mips64el.mk
   glibc-package/trunk/debian/sysdeps/mipsel.mk
   glibc-package/trunk/debian/sysdeps/mipsn32.mk
   glibc-package/trunk/debian/sysdeps/mipsn32el.mk
Log:
Full version of the mipsn32/mipsn32el/mips64/mips64el patch using /libo32
for the o32 ABI


Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/changelog	2014-06-11 20:35:48 UTC (rev 6143)
@@ -5,11 +5,15 @@
     arm64 after assurance from upstream that this isn't a regression.
 
   [ Aurelien Jarno ]
-  * Add support for mipsn32, mipsn32el, mips64 and mips64el, addresses
-    part of bug#715038:
+  * Add support for mipsn32, mipsn32el, mips64 and mips64el, based on 
+    patches from Eleanor Chen, Yunqiang Su and Sphinx Jiang.  Closes:
+    #715038.
     - debian/control.in/main: bump build-depends on linux-libc-dev to (>=
       3.9). Do it for all architectures as this version is in Jessie for quite
       some time.
+    - control.in/mips32: new file.
+    - control.in/mipsn32: add mips64 and mips64el architectures.
+    - control.in/mips64: add mipsn32 and mipsn32el architectures.
     - debian/rules.d/control.mk: add mipsn32, mipsn32el, mips64 and mips64el
       to the architecture list.
     - debian/sysdeps/mips64.mk: new file.

Modified: glibc-package/trunk/debian/control
===================================================================
--- glibc-package/trunk/debian/control	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/control	2014-06-11 20:35:48 UTC (rev 6143)
@@ -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
@@ -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 MIPS
+ 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 MIPS 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 MIPS
+ 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 MIPS 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

Modified: glibc-package/trunk/debian/control.in/libc
===================================================================
--- glibc-package/trunk/debian/control.in/libc	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/control.in/libc	2014-06-11 20:35:48 UTC (rev 6143)
@@ -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

Added: glibc-package/trunk/debian/control.in/mips32
===================================================================
--- glibc-package/trunk/debian/control.in/mips32	                        (rev 0)
+++ glibc-package/trunk/debian/control.in/mips32	2014-06-11 20:35:48 UTC (rev 6143)
@@ -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 MIPS
+ 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 MIPS 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 MIPS
+ 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 MIPS systems.
+

Modified: glibc-package/trunk/debian/control.in/mips64
===================================================================
--- glibc-package/trunk/debian/control.in/mips64	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/control.in/mips64	2014-06-11 20:35:48 UTC (rev 6143)
@@ -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

Modified: glibc-package/trunk/debian/control.in/mipsn32
===================================================================
--- glibc-package/trunk/debian/control.in/mipsn32	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/control.in/mipsn32	2014-06-11 20:35:48 UTC (rev 6143)
@@ -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

Modified: glibc-package/trunk/debian/rules.d/build.mk
===================================================================
--- glibc-package/trunk/debian/rules.d/build.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/rules.d/build.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -195,7 +195,7 @@
 	  install_root=$(CURDIR)/debian/tmp-$(curpass) install
 
 	# Generate gconv-modules.cache
-	case $(curpass)-$(call xx,slibdir) in libc-* | *-/lib32 | *-/lib64 | *-/libx32) \
+	case $(curpass)-$(call xx,slibdir) in libc-* | *-/lib32 | *-/lib64 | *-/libo32 | *-/libx32) \
 	  /usr/sbin/iconvconfig --nostdlib --prefix=$(CURDIR)/debian/tmp-$(curpass) \
 				-o $(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir)/gconv/gconv-modules.cache \
 				$(call xx,libdir)/gconv \
@@ -233,7 +233,7 @@
 	# 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 | /libo32 | /libx32) \
 	  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; \

Modified: glibc-package/trunk/debian/rules.d/control.mk
===================================================================
--- glibc-package/trunk/debian/rules.d/control.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/rules.d/control.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -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

Modified: glibc-package/trunk/debian/rules.d/debhelper.mk
===================================================================
--- glibc-package/trunk/debian/rules.d/debhelper.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/rules.d/debhelper.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -223,7 +223,7 @@
 	    pass="" \
 	    suffix="" \
 	    ;; \
-	  *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \
+	  *:/lib32 | *:/lib64 | *:/libo32 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \
 	    templates="libc libc-dev" \
 	    pass="-alt" \
 	    suffix="-$(curpass)" \

Modified: glibc-package/trunk/debian/sysdeps/mips.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/mips.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/sysdeps/mips.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -5,7 +5,7 @@
 EGLIBC_PASSES += mipsn32
 DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn32 libc6-dev-mipsn32
 mipsn32_add-ons = ports nptl $(add-ons)
-mipsn32_configure_target = mips32-linux-gnu
+mipsn32_configure_target = mips64-linux-gnuabin32
 mipsn32_extra_cflags = -mno-plt
 mipsn32_CC = $(CC) -mabi=n32
 mipsn32_CXX = $(CXX) -mabi=n32
@@ -19,7 +19,7 @@
 EGLIBC_PASSES += mips64
 DEB_ARCH_REGULAR_PACKAGES += libc6-mips64 libc6-dev-mips64
 mips64_add-ons = ports nptl $(add-ons)
-mips64_configure_target = mips64-linux-gnu
+mips64_configure_target = mips64-linux-gnuabi64
 mips64_extra_cflags = -mno-plt
 mips64_CC = $(CC) -mabi=64
 mips64_CXX = $(CXX) -mabi=64
@@ -32,9 +32,9 @@
 define libc6-dev-mips64_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mips64/usr/include
-ln -s mips-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
-ln -s mips-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
-ln -s mips-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
+ln -sf mips-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
+ln -sf mips-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
+ln -sf mips-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mips-linux-gnu/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
@@ -42,7 +42,7 @@
 
 mkdir -p debian/libc6-dev-mips64/usr/include/sys
 for i in `ls debian/tmp-libc/usr/include/mips-linux-gnu/sys` ; do \
-        ln -s ../mips-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
+        ln -sf ../mips-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
 done
 
 endef

Modified: glibc-package/trunk/debian/sysdeps/mips64.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/mips64.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/sysdeps/mips64.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -1,2 +1,63 @@
 libc_add-ons = ports nptl $(add-ons)
 libc_rtlddir = /lib64
+extra_cflags = -mno-plt
+
+# 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_extra_cflags = -mno-plt
+mipsn32_CC = $(CC) -mabi=n32
+mipsn32_CXX = $(CXX) -mabi=n32
+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_extra_cflags = -mno-plt
+mips32_CC = $(CC) -mabi=32
+mips32_CXX = $(CXX) -mabi=32
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /libo32
+mips32_libdir = /usr/libo32
+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 -sf mips64-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
+ln -sf mips64-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
+ln -sf 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 -sf ../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
+
+# create a symlink for the 32 bit dynamic linker in /lib
+define libc6-mips32_extra_pkg_install
+mkdir -p debian/libc6-mips32/lib
+ln -sf /libo32/ld.so.1 debian/libc6-mips32/lib
+endef

Modified: glibc-package/trunk/debian/sysdeps/mips64el.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/mips64el.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/sysdeps/mips64el.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -1,2 +1,63 @@
 libc_add-ons = ports nptl $(add-ons)
 libc_rtlddir = /lib64
+extra_cflags = -mno-plt
+
+# 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_extra_cflags = -mno-plt
+mipsn32_CC = $(CC) -mabi=n32
+mipsn32_CXX = $(CXX) -mabi=n32
+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_extra_cflags = -mno-plt
+mips32_CC = $(CC) -mabi=32
+mips32_CXX = $(CXX) -mabi=32
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /libo32
+mips32_libdir = /usr/libo32
+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 -sf mips64el-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
+ln -sf mips64el-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
+ln -sf 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 -sf ../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
+
+# create a symlink for the 32 bit dynamic linker in /lib
+define libc6-mips32_extra_pkg_install
+mkdir -p debian/libc6-mips32/lib
+ln -sf /libo32/ld.so.1 debian/libc6-mips32/lib
+endef

Modified: glibc-package/trunk/debian/sysdeps/mipsel.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/mipsel.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/sysdeps/mipsel.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -5,7 +5,7 @@
 EGLIBC_PASSES += mipsn32
 DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn32 libc6-dev-mipsn32
 mipsn32_add-ons = ports nptl $(add-ons)
-mipsn32_configure_target = mips32el-linux-gnu
+mipsn32_configure_target = mips64el-linux-gnuabin32
 mipsn32_extra_cflags = -mno-plt
 mipsn32_CC = $(CC) -mabi=n32
 mipsn32_CXX = $(CXX) -mabi=n32
@@ -19,7 +19,7 @@
 EGLIBC_PASSES += mips64
 DEB_ARCH_REGULAR_PACKAGES += libc6-mips64 libc6-dev-mips64
 mips64_add-ons = ports nptl $(add-ons)
-mips64_configure_target = mips64el-linux-gnu
+mips64_configure_target = mips64el-linux-gnuabi64
 mips64_extra_cflags = -mno-plt
 mips64_CC = $(CC) -mabi=64
 mips64_CXX = $(CXX) -mabi=64
@@ -32,9 +32,9 @@
 define libc6-dev-mips64_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mips64/usr/include
-ln -s mipsel-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
-ln -s mipsel-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
-ln -s mipsel-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
+ln -sf mipsel-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
+ln -sf mipsel-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
+ln -sf mipsel-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mipsel-linux-gnu/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
@@ -42,7 +42,7 @@
 
 mkdir -p debian/libc6-dev-mips64/usr/include/sys
 for i in `ls debian/tmp-libc/usr/include/mipsel-linux-gnu/sys` ; do \
-        ln -s ../mipsel-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
+        ln -sf ../mipsel-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
 done
 
 endef

Modified: glibc-package/trunk/debian/sysdeps/mipsn32.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/mipsn32.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/sysdeps/mipsn32.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -1,2 +1,63 @@
 libc_add-ons = ports nptl $(add-ons)
 libc_rtlddir = /lib32
+extra_cflags = -mno-plt
+
+# build 64-bit 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_extra_cflags = -mno-plt
+mips64_CC = $(CC) -mabi=64
+mips64_CXX = $(CXX) -mabi=64
+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_extra_cflags = -mno-plt
+mips32_CC = $(CC) -mabi=32
+mips32_CXX = $(CXX) -mabi=32
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /libo32
+mips32_libdir = /usr/libo32
+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 -sf mips64-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
+ln -sf mips64-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
+ln -sf 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 -sf ../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
+
+# create a symlink for the 32 bit dynamic linker in /lib
+define libc6-mips32_extra_pkg_install
+mkdir -p debian/libc6-mips32/lib
+ln -sf /libo32/ld.so.1 debian/libc6-mips32/lib
+endef

Modified: glibc-package/trunk/debian/sysdeps/mipsn32el.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/mipsn32el.mk	2014-06-10 19:20:07 UTC (rev 6142)
+++ glibc-package/trunk/debian/sysdeps/mipsn32el.mk	2014-06-11 20:35:48 UTC (rev 6143)
@@ -1,2 +1,63 @@
 libc_add-ons = ports nptl $(add-ons)
 libc_rtlddir = /lib32
+extra_cflags = -mno-plt
+
+# build 64-bit 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_extra_cflags = -mno-plt
+mips64_CC = $(CC) -mabi=64
+mips64_CXX = $(CXX) -mabi=64
+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_extra_cflags = -mno-plt
+mips32_CC = $(CC) -mabi=32
+mips32_CXX = $(CXX) -mabi=32
+libc6-mips32_shlib_dep = libc6-mips32 (>= $(shlib_dep_ver))
+mips32_rtlddir = /lib
+mips32_slibdir = /libo32
+mips32_libdir = /usr/libo32
+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 -sf mips64el-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
+ln -sf mips64el-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
+ln -sf 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 -sf ../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
+
+# create a symlink for the 32 bit dynamic linker in /lib
+define libc6-mips32_extra_pkg_install
+mkdir -p debian/libc6-mips32/lib
+ln -sf /libo32/ld.so.1 debian/libc6-mips32/lib
+endef


Reply to: