Bug#715038: add mips64(el) mipsn32(el) support to eglibc
Hi, On Tue, Jun 10, 2014 at 08:17:53PM +0800, Sphinx Jiang wrote: Hi, In this patch, o32 libraries are moved from /lib to /libo32. I have applied this patch with some small changes fixing some issues and homogenizing all mips*.mk files, most importantly: - really install the o32 library in /libo32 for mipsn32el.mk - changed a end into endef - replace MIPS64 by MIPS in the o32 package description, as it doesn't need a 64-bit CPU to run the o32 libc (contrary to the n32 and n64 ones). Don't hesitate to look at the SVN to check everything is ok. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140611203901.ga30...@hall.aurel32.net
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Thu, Jun 12, 2014 at 4:39 AM, Aurelien Jarno aurel...@aurel32.net wrote: Hi, On Tue, Jun 10, 2014 at 08:17:53PM +0800, Sphinx Jiang wrote: Hi, In this patch, o32 libraries are moved from /lib to /libo32. I have applied this patch with some small changes fixing some issues and homogenizing all mips*.mk files, most importantly: - really install the o32 library in /libo32 for mipsn32el.mk - changed a end into endef - replace MIPS64 by MIPS in the o32 package description, as it doesn't need a 64-bit CPU to run the o32 libc (contrary to the n32 and n64 ones). Don't hesitate to look at the SVN to check everything is ok. Great, thank you so much. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To unsubscribe, send mail to 715038-unsubscr...@bugs.debian.org. -- Yunqiang Su -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/cakcpw6umexrane9uqy_7imoncheoawcyqegy-wg8y+jqegf...@mail.gmail.com
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
Hi, In this patch, o32 libraries are moved from /lib to /libo32. 2014-06-09 22:38 GMT+08:00 Aurelien Jarno aurel...@aurel32.net: On Mon, Jun 09, 2014 at 09:02:04PM +0800, Sphinx Jiang wrote: I refreshed this patch with 2.19-1. Tested on mips64el device, build successfully. Sphinx I have just merged the non-controversial parts, that is everything but multlib. I am still opposed to having the o32 libraries in /lib and I am waiting for arguments about why it can't be for example in /libo32. Anyway I do wonder if we want multilib support at all on a new port, we now have multiarch to address this, so one can just install the libc6:mips on a mipsn32 or mips64 system, or libc6:mipsel on a mipsn32el or mips64el system to get o32 support. Also: 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.0 + +++ eglibc-2.19/debian/rules.d/debhelper.mk 2014-06-09 05:27:56.0 + @@ -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; \ This already shows the kind of problem we might have. As /lib is already in the path, it is searched by default so you don't need any specific ld.so.conf entry. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net diff -Nru eglibc-2.19/debian/changelog eglibc-2.19/debian/changelog --- eglibc-2.19/debian/changelog2014-06-04 19:50:40.0 + +++ eglibc-2.19/debian/changelog2014-06-10 12:10:27.0 + @@ -1,4 +1,10 @@ -eglibc (2.19-1) unstable; urgency=medium +eglibc (2.19-1+mips64.1) UNRELEASED; urgency=medium + + * move the o32 libraries from /lib to /libo32 + + -- Sphinx Jiang yishan...@gmail.com Tue, 10 Jun 2014 12:06:12 + + +eglibc (2.19-1+mips64) unstable; urgency=medium [ Aurelien Jarno ] * debian/control.in/main: remove outdated Build-Depends on bzip2. diff -Nru eglibc-2.19/debian/control eglibc-2.19/debian/control --- eglibc-2.19/debian/control 2014-06-04 19:50:40.0 + +++ eglibc-2.19/debian/control 2014-06-10 12:02:01.0 + @@ -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-glibc@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
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
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/changelog2014-06-04 19:50:40.0 + +++ eglibc-2.19/debian/changelog2014-06-09 07:49:54.0 + @@ -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 + + 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.0 + +++ eglibc-2.19/debian/control 2014-06-09 07:42:04.0 + @@ -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-glibc@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 @@
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Thu, Jun 05, 2014 at 11:34:37PM +0800, Yunqiang Su wrote: Hi, as I asked that guys, they insist on using /usr/lib but not /usr/libo32. :-( Who are the guys? What is the argument on using /usr/lib instead of /usr/libo32? Then, maybe this patch should be OK. I don't think it is ok. I don't feel comfortable in using the same directory for the system and biarch libraries. It means we won't be able to search among 64-bit libraries without looking at o32 libraries. please consider it. What I propose is to merge all the non-biarch stuff, as a first step. Actually it might be already enough as o32 libraries can already be installed using multiarch. On Tue, May 20, 2014 at 4:24 AM, Yunqiang Su wzss...@gmail.com wrote: I refreshed this patch with 2.18-6. On Thu, May 8, 2014 at 10:53 AM, Yunqiang Su wzss...@gmail.com wrote: On Wed, May 7, 2014 at 11:02 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Fri, Apr 25, 2014 at 10:25:55PM +0800, Yunqiang Su wrote: On Fri, Apr 25, 2014 at 10:25 PM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-4, and let libc6 breaks: libc6-mips64 [mips64 mips64el], libc6-mipsn32 [mipsn32 mipsn32el], libc6-mips32 [mips mipsel], On Thu, Feb 27, 2014 at 9:20 AM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-3 On Mon, Oct 7, 2013 at 9:50 AM, YunQiang Su wzss...@gmail.com wrote: I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. Please find my comments about this patch below. [ snip ] diff -urN a/debian/rules.d/build.mk b/debian/rules.d/build.mk --- a/debian/rules.d/build.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/build.mk 2014-04-25 14:14:27.708058521 + @@ -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 | /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; \ Why do you need this change? This will create a ld.so.conf entry even for /lib, while ld.so should always be configured to look for /lib and /lib/$(DEB_HOST_ARCH_MULTIARCH) without even an ld.so.conf entry. Moreover, with this change such a file would be created for all architectures, not only mips64. Please look why ld.so doesn't look to /lib by default. It looks /lib. I dropped this snip. diff -urN a/debian/rules.d/build.mk.orig b/debian/rules.d/build.mk.orig --- a/debian/rules.d/build.mk.orig1970-01-01 00:00:00.0 + +++ b/debian/rules.d/build.mk.orig2014-04-25 14:14:27.708058521 + [ snip ] Please don't include such an orig file in your patch. [ snip ] diff -urN a/debian/rules.d/control.mk.orig b/debian/rules.d/control.mk.orig --- a/debian/rules.d/control.mk.orig 1970-01-01 00:00:00.0 + +++ b/debian/rules.d/control.mk.orig 2014-04-25 14:14:27.708058521 + Same here [ snip ] diff -urN a/debian/rules.d/debhelper.mk b/debian/rules.d/debhelper.mk --- a/debian/rules.d/debhelper.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/debhelper.mk 2014-04-25 14:14:27.708058521 + @@ -223,7 +223,7 @@ pass= \ suffix= \ ;; \ - *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ + *:/lib32 | *:/lib64 | *:/libx32 | *:/lib | *:/lib/arm-linux-gnueabi*) \ I guess it's because the multilib o32 version is installed in /lib, right? But see below. Yes 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 /etc/d' -i $$t; \ + fi ; \ What is that supposed to do? This is used to avoid installing zz_mips32-biarch-compat.conf for /lib and /usr/lib . $$t is debian/libc6-mips32.install here. 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; \ [ snip ] diff -urN a/debian/sysdeps/mips64el.mk b/debian/sysdeps/mips64el.mk --- a/debian/sysdeps/mips64el.mk 1970-01-01 00:00:00.0 + +++ b/debian/sysdeps/mips64el.mk 2014-04-25 14:14:27.712058556 + @@ -0,0 +1,54 @@
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Mon, Jun 9, 2014 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Thu, Jun 05, 2014 at 11:34:37PM +0800, Yunqiang Su wrote: Hi, as I asked that guys, they insist on using /usr/lib but not /usr/libo32. :-( Who are the guys? What is the argument on using /usr/lib instead of /usr/libo32? https://lists.debian.org/debian-mips/2013/06/msg6.html Then, maybe this patch should be OK. I don't think it is ok. I don't feel comfortable in using the same directory for the system and biarch libraries. It means we won't be able to search among 64-bit libraries without looking at o32 libraries. please consider it. What I propose is to merge all the non-biarch stuff, as a first step. Actually it might be already enough as o32 libraries can already be installed using multiarch. Then let's drop multilib support from eglibc? On Tue, May 20, 2014 at 4:24 AM, Yunqiang Su wzss...@gmail.com wrote: I refreshed this patch with 2.18-6. On Thu, May 8, 2014 at 10:53 AM, Yunqiang Su wzss...@gmail.com wrote: On Wed, May 7, 2014 at 11:02 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Fri, Apr 25, 2014 at 10:25:55PM +0800, Yunqiang Su wrote: On Fri, Apr 25, 2014 at 10:25 PM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-4, and let libc6 breaks: libc6-mips64 [mips64 mips64el], libc6-mipsn32 [mipsn32 mipsn32el], libc6-mips32 [mips mipsel], On Thu, Feb 27, 2014 at 9:20 AM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-3 On Mon, Oct 7, 2013 at 9:50 AM, YunQiang Su wzss...@gmail.com wrote: I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. Please find my comments about this patch below. [ snip ] diff -urN a/debian/rules.d/build.mk b/debian/rules.d/build.mk --- a/debian/rules.d/build.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/build.mk 2014-04-25 14:14:27.708058521 + @@ -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 | /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; \ Why do you need this change? This will create a ld.so.conf entry even for /lib, while ld.so should always be configured to look for /lib and /lib/$(DEB_HOST_ARCH_MULTIARCH) without even an ld.so.conf entry. Moreover, with this change such a file would be created for all architectures, not only mips64. Please look why ld.so doesn't look to /lib by default. It looks /lib. I dropped this snip. diff -urN a/debian/rules.d/build.mk.orig b/debian/rules.d/build.mk.orig --- a/debian/rules.d/build.mk.orig1970-01-01 00:00:00.0 + +++ b/debian/rules.d/build.mk.orig2014-04-25 14:14:27.708058521 + [ snip ] Please don't include such an orig file in your patch. [ snip ] diff -urN a/debian/rules.d/control.mk.orig b/debian/rules.d/control.mk.orig --- a/debian/rules.d/control.mk.orig 1970-01-01 00:00:00.0 + +++ b/debian/rules.d/control.mk.orig 2014-04-25 14:14:27.708058521 + Same here [ snip ] diff -urN a/debian/rules.d/debhelper.mk b/debian/rules.d/debhelper.mk --- a/debian/rules.d/debhelper.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/debhelper.mk 2014-04-25 14:14:27.708058521 + @@ -223,7 +223,7 @@ pass= \ suffix= \ ;; \ - *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ + *:/lib32 | *:/lib64 | *:/libx32 | *:/lib | *:/lib/arm-linux-gnueabi*) \ I guess it's because the multilib o32 version is installed in /lib, right? But see below. Yes 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 /etc/d' -i $$t; \ + fi ; \ What is that supposed to do? This is used to avoid installing zz_mips32-biarch-compat.conf for /lib and /usr/lib . $$t is debian/libc6-mips32.install here. 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; \ [ snip ] diff -urN
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Mon, Jun 09, 2014 at 09:02:04PM +0800, Sphinx Jiang wrote: I refreshed this patch with 2.19-1. Tested on mips64el device, build successfully. Sphinx I have just merged the non-controversial parts, that is everything but multlib. I am still opposed to having the o32 libraries in /lib and I am waiting for arguments about why it can't be for example in /libo32. Anyway I do wonder if we want multilib support at all on a new port, we now have multiarch to address this, so one can just install the libc6:mips on a mipsn32 or mips64 system, or libc6:mipsel on a mipsn32el or mips64el system to get o32 support. Also: 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.0 + +++ eglibc-2.19/debian/rules.d/debhelper.mk 2014-06-09 05:27:56.0 + @@ -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; \ This already shows the kind of problem we might have. As /lib is already in the path, it is searched by default so you don't need any specific ld.so.conf entry. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140609143810.gl5...@hall.aurel32.net
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Mon, Jun 09, 2014 at 10:19:05PM +0800, Yunqiang Su wrote: On Mon, Jun 9, 2014 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Thu, Jun 05, 2014 at 11:34:37PM +0800, Yunqiang Su wrote: Hi, as I asked that guys, they insist on using /usr/lib but not /usr/libo32. :-( Who are the guys? What is the argument on using /usr/lib instead of /usr/libo32? https://lists.debian.org/debian-mips/2013/06/msg6.html Well we already have installed the n64 libraries in /lib and /usr/lib (in practice in the corresponding multiarch subdir), so we are not respecting the standard already. I therefore don't see the standard as an argument for o32 libraries. Then, maybe this patch should be OK. I don't think it is ok. I don't feel comfortable in using the same directory for the system and biarch libraries. It means we won't be able to search among 64-bit libraries without looking at o32 libraries. please consider it. What I propose is to merge all the non-biarch stuff, as a first step. Actually it might be already enough as o32 libraries can already be installed using multiarch. Then let's drop multilib support from eglibc? That's what I have committed so far. We can add the multilib support later when we agree about it, but I think with multiarch it should not be needed. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140609144231.gm5...@hall.aurel32.net
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Mon, Jun 9, 2014 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Thu, Jun 05, 2014 at 11:34:37PM +0800, Yunqiang Su wrote: Hi, as I asked that guys, they insist on using /usr/lib but not /usr/libo32. :-( Who are the guys? What is the argument on using /usr/lib instead of /usr/libo32? See https://lists.debian.org/debian-mips/2014/05/msg00050.html I guess the standard he refers means the MIPS N32 ABI Handbook. Regards, Aron Xu -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/CAMr=8w78x8WZkK8Abd+DpC4fFDJ=zf_xe-vtqtdaabrcgok...@mail.gmail.com
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Mon, Jun 9, 2014 at 10:38 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Mon, Jun 09, 2014 at 09:02:04PM +0800, Sphinx Jiang wrote: I refreshed this patch with 2.19-1. Tested on mips64el device, build successfully. Sphinx I have just merged the non-controversial parts, that is everything but multlib. I am still opposed to having the o32 libraries in /lib and I am waiting for arguments about why it can't be for example in /libo32. Anyway I do wonder if we want multilib support at all on a new port, we now have multiarch to address this, so one can just install the libc6:mips on a mipsn32 or mips64 system, or libc6:mipsel on a mipsn32el or mips64el system to get o32 support. Multilib is still nice-to-have, so that we don't miss anything might be useful for users, and related code/configuration does not change from time to time so there should be maintainability burdens. Aron -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/CAMr=8w6=p-zZNJaUkg8eVxS=21pUvFQby6mGNC2Pp=8gj1r...@mail.gmail.com
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Tue, Jun 10, 2014 at 05:01:45AM +0800, Aron Xu wrote: On Mon, Jun 9, 2014 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Thu, Jun 05, 2014 at 11:34:37PM +0800, Yunqiang Su wrote: Hi, as I asked that guys, they insist on using /usr/lib but not /usr/libo32. :-( Who are the guys? What is the argument on using /usr/lib instead of /usr/libo32? See https://lists.debian.org/debian-mips/2014/05/msg00050.html I guess the standard he refers means the MIPS N32 ABI Handbook. Debian doesn't follow the standard already by putting the 64-bit libraries in /lib instead of /lib64, so I don't consider the argument that we should follow the standard for o32 libraries as valid. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140609212130.gc2...@hall.aurel32.net
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Tue, Jun 10, 2014 at 05:06:03AM +0800, Aron Xu wrote: On Mon, Jun 9, 2014 at 10:38 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Mon, Jun 09, 2014 at 09:02:04PM +0800, Sphinx Jiang wrote: I refreshed this patch with 2.19-1. Tested on mips64el device, build successfully. Sphinx I have just merged the non-controversial parts, that is everything but multlib. I am still opposed to having the o32 libraries in /lib and I am waiting for arguments about why it can't be for example in /libo32. Anyway I do wonder if we want multilib support at all on a new port, we now have multiarch to address this, so one can just install the libc6:mips on a mipsn32 or mips64 system, or libc6:mipsel on a mipsn32el or mips64el system to get o32 support. Multilib is still nice-to-have, so that we don't miss anything might be useful for users, and related code/configuration does not change from time to time so there should be maintainability burdens. With my glibc maintainer hat, multilib is a huge pain to maintain and doesn't play well with multiarch, so I would be more than happy to not have it for a new architecture. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140609212240.gd2...@hall.aurel32.net
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Mon, Jun 09, 2014 at 11:21:30PM +0200, Aurelien Jarno wrote: On Tue, Jun 10, 2014 at 05:01:45AM +0800, Aron Xu wrote: On Mon, Jun 9, 2014 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Thu, Jun 05, 2014 at 11:34:37PM +0800, Yunqiang Su wrote: Hi, as I asked that guys, they insist on using /usr/lib but not /usr/libo32. :-( Who are the guys? What is the argument on using /usr/lib instead of /usr/libo32? See https://lists.debian.org/debian-mips/2014/05/msg00050.html I guess the standard he refers means the MIPS N32 ABI Handbook. Debian doesn't follow the standard already by putting the 64-bit libraries in /lib instead of /lib64, so I don't consider the argument that we should follow the standard for o32 libraries as valid. Oh, and I forgot to add we are talking about a quite limited set of packages which will have to use /libo32, and that list will probably get even smaller with jessie. It's basically packages built from either gcc-4.X, eglibc, ncurses, readline6 and zlib. All other o32 packages installed through multiarch will go to (/usr)/lib/mipsel-linux-gnu. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140609213042.ge2...@hall.aurel32.net
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
Hi, as I asked that guys, they insist on using /usr/lib but not /usr/libo32. :-( Then, maybe this patch should be OK. please consider it. On Tue, May 20, 2014 at 4:24 AM, Yunqiang Su wzss...@gmail.com wrote: I refreshed this patch with 2.18-6. On Thu, May 8, 2014 at 10:53 AM, Yunqiang Su wzss...@gmail.com wrote: On Wed, May 7, 2014 at 11:02 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Fri, Apr 25, 2014 at 10:25:55PM +0800, Yunqiang Su wrote: On Fri, Apr 25, 2014 at 10:25 PM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-4, and let libc6 breaks: libc6-mips64 [mips64 mips64el], libc6-mipsn32 [mipsn32 mipsn32el], libc6-mips32 [mips mipsel], On Thu, Feb 27, 2014 at 9:20 AM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-3 On Mon, Oct 7, 2013 at 9:50 AM, YunQiang Su wzss...@gmail.com wrote: I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. Please find my comments about this patch below. [ snip ] diff -urN a/debian/rules.d/build.mk b/debian/rules.d/build.mk --- a/debian/rules.d/build.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/build.mk 2014-04-25 14:14:27.708058521 + @@ -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 | /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; \ Why do you need this change? This will create a ld.so.conf entry even for /lib, while ld.so should always be configured to look for /lib and /lib/$(DEB_HOST_ARCH_MULTIARCH) without even an ld.so.conf entry. Moreover, with this change such a file would be created for all architectures, not only mips64. Please look why ld.so doesn't look to /lib by default. It looks /lib. I dropped this snip. diff -urN a/debian/rules.d/build.mk.orig b/debian/rules.d/build.mk.orig --- a/debian/rules.d/build.mk.orig1970-01-01 00:00:00.0 + +++ b/debian/rules.d/build.mk.orig2014-04-25 14:14:27.708058521 + [ snip ] Please don't include such an orig file in your patch. [ snip ] diff -urN a/debian/rules.d/control.mk.orig b/debian/rules.d/control.mk.orig --- a/debian/rules.d/control.mk.orig 1970-01-01 00:00:00.0 + +++ b/debian/rules.d/control.mk.orig 2014-04-25 14:14:27.708058521 + Same here [ snip ] diff -urN a/debian/rules.d/debhelper.mk b/debian/rules.d/debhelper.mk --- a/debian/rules.d/debhelper.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/debhelper.mk 2014-04-25 14:14:27.708058521 + @@ -223,7 +223,7 @@ pass= \ suffix= \ ;; \ - *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ + *:/lib32 | *:/lib64 | *:/libx32 | *:/lib | *:/lib/arm-linux-gnueabi*) \ I guess it's because the multilib o32 version is installed in /lib, right? But see below. Yes 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 /etc/d' -i $$t; \ + fi ; \ What is that supposed to do? This is used to avoid installing zz_mips32-biarch-compat.conf for /lib and /usr/lib . $$t is debian/libc6-mips32.install here. 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; \ [ snip ] diff -urN a/debian/sysdeps/mips64el.mk b/debian/sysdeps/mips64el.mk --- a/debian/sysdeps/mips64el.mk 1970-01-01 00:00:00.0 + +++ b/debian/sysdeps/mips64el.mk 2014-04-25 14:14:27.712058556 + @@ -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 +=
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
I refreshed this patch with 2.18-6. On Thu, May 8, 2014 at 10:53 AM, Yunqiang Su wzss...@gmail.com wrote: On Wed, May 7, 2014 at 11:02 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Fri, Apr 25, 2014 at 10:25:55PM +0800, Yunqiang Su wrote: On Fri, Apr 25, 2014 at 10:25 PM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-4, and let libc6 breaks: libc6-mips64 [mips64 mips64el], libc6-mipsn32 [mipsn32 mipsn32el], libc6-mips32 [mips mipsel], On Thu, Feb 27, 2014 at 9:20 AM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-3 On Mon, Oct 7, 2013 at 9:50 AM, YunQiang Su wzss...@gmail.com wrote: I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. Please find my comments about this patch below. [ snip ] diff -urN a/debian/rules.d/build.mk b/debian/rules.d/build.mk --- a/debian/rules.d/build.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/build.mk 2014-04-25 14:14:27.708058521 + @@ -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 | /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; \ Why do you need this change? This will create a ld.so.conf entry even for /lib, while ld.so should always be configured to look for /lib and /lib/$(DEB_HOST_ARCH_MULTIARCH) without even an ld.so.conf entry. Moreover, with this change such a file would be created for all architectures, not only mips64. Please look why ld.so doesn't look to /lib by default. It looks /lib. I dropped this snip. diff -urN a/debian/rules.d/build.mk.orig b/debian/rules.d/build.mk.orig --- a/debian/rules.d/build.mk.orig1970-01-01 00:00:00.0 + +++ b/debian/rules.d/build.mk.orig2014-04-25 14:14:27.708058521 + [ snip ] Please don't include such an orig file in your patch. [ snip ] diff -urN a/debian/rules.d/control.mk.orig b/debian/rules.d/control.mk.orig --- a/debian/rules.d/control.mk.orig 1970-01-01 00:00:00.0 + +++ b/debian/rules.d/control.mk.orig 2014-04-25 14:14:27.708058521 + Same here [ snip ] diff -urN a/debian/rules.d/debhelper.mk b/debian/rules.d/debhelper.mk --- a/debian/rules.d/debhelper.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/debhelper.mk 2014-04-25 14:14:27.708058521 + @@ -223,7 +223,7 @@ pass= \ suffix= \ ;; \ - *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ + *:/lib32 | *:/lib64 | *:/libx32 | *:/lib | *:/lib/arm-linux-gnueabi*) \ I guess it's because the multilib o32 version is installed in /lib, right? But see below. Yes 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 /etc/d' -i $$t; \ + fi ; \ What is that supposed to do? This is used to avoid installing zz_mips32-biarch-compat.conf for /lib and /usr/lib . $$t is debian/libc6-mips32.install here. 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; \ [ snip ] diff -urN a/debian/sysdeps/mips64el.mk b/debian/sysdeps/mips64el.mk --- a/debian/sysdeps/mips64el.mk 1970-01-01 00:00:00.0 + +++ b/debian/sysdeps/mips64el.mk 2014-04-25 14:14:27.712058556 + @@ -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)
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Fri, Apr 25, 2014 at 10:25:55PM +0800, Yunqiang Su wrote: On Fri, Apr 25, 2014 at 10:25 PM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-4, and let libc6 breaks: libc6-mips64 [mips64 mips64el], libc6-mipsn32 [mipsn32 mipsn32el], libc6-mips32 [mips mipsel], On Thu, Feb 27, 2014 at 9:20 AM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-3 On Mon, Oct 7, 2013 at 9:50 AM, YunQiang Su wzss...@gmail.com wrote: I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. Please find my comments about this patch below. [ snip ] diff -urN a/debian/rules.d/build.mk b/debian/rules.d/build.mk --- a/debian/rules.d/build.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/build.mk 2014-04-25 14:14:27.708058521 + @@ -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 | /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; \ Why do you need this change? This will create a ld.so.conf entry even for /lib, while ld.so should always be configured to look for /lib and /lib/$(DEB_HOST_ARCH_MULTIARCH) without even an ld.so.conf entry. Moreover, with this change such a file would be created for all architectures, not only mips64. Please look why ld.so doesn't look to /lib by default. diff -urN a/debian/rules.d/build.mk.orig b/debian/rules.d/build.mk.orig --- a/debian/rules.d/build.mk.orig1970-01-01 00:00:00.0 + +++ b/debian/rules.d/build.mk.orig2014-04-25 14:14:27.708058521 + [ snip ] Please don't include such an orig file in your patch. [ snip ] diff -urN a/debian/rules.d/control.mk.orig b/debian/rules.d/control.mk.orig --- a/debian/rules.d/control.mk.orig 1970-01-01 00:00:00.0 + +++ b/debian/rules.d/control.mk.orig 2014-04-25 14:14:27.708058521 + Same here [ snip ] diff -urN a/debian/rules.d/debhelper.mk b/debian/rules.d/debhelper.mk --- a/debian/rules.d/debhelper.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/debhelper.mk 2014-04-25 14:14:27.708058521 + @@ -223,7 +223,7 @@ pass= \ suffix= \ ;; \ - *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ + *:/lib32 | *:/lib64 | *:/libx32 | *:/lib | *:/lib/arm-linux-gnueabi*) \ I guess it's because the multilib o32 version is installed in /lib, right? But see below. 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 /etc/d' -i $$t; \ + fi ; \ What is that supposed to do? 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; \ [ snip ] diff -urN a/debian/sysdeps/mips64el.mk b/debian/sysdeps/mips64el.mk --- a/debian/sysdeps/mips64el.mk 1970-01-01 00:00:00.0 + +++ b/debian/sysdeps/mips64el.mk 2014-04-25 14:14:27.712058556 + @@ -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 For what I understand there, the o32 library is installed in /lib, which might conflict with the system libraries on some aspects. Wouldn't it be better to install it in for example in /libo32 instead? Of course rtlddir
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
On Wed, May 7, 2014 at 11:02 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Fri, Apr 25, 2014 at 10:25:55PM +0800, Yunqiang Su wrote: On Fri, Apr 25, 2014 at 10:25 PM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-4, and let libc6 breaks: libc6-mips64 [mips64 mips64el], libc6-mipsn32 [mipsn32 mipsn32el], libc6-mips32 [mips mipsel], On Thu, Feb 27, 2014 at 9:20 AM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-3 On Mon, Oct 7, 2013 at 9:50 AM, YunQiang Su wzss...@gmail.com wrote: I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. Please find my comments about this patch below. [ snip ] diff -urN a/debian/rules.d/build.mk b/debian/rules.d/build.mk --- a/debian/rules.d/build.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/build.mk 2014-04-25 14:14:27.708058521 + @@ -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 | /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; \ Why do you need this change? This will create a ld.so.conf entry even for /lib, while ld.so should always be configured to look for /lib and /lib/$(DEB_HOST_ARCH_MULTIARCH) without even an ld.so.conf entry. Moreover, with this change such a file would be created for all architectures, not only mips64. Please look why ld.so doesn't look to /lib by default. It looks /lib. I dropped this snip. diff -urN a/debian/rules.d/build.mk.orig b/debian/rules.d/build.mk.orig --- a/debian/rules.d/build.mk.orig1970-01-01 00:00:00.0 + +++ b/debian/rules.d/build.mk.orig2014-04-25 14:14:27.708058521 + [ snip ] Please don't include such an orig file in your patch. [ snip ] diff -urN a/debian/rules.d/control.mk.orig b/debian/rules.d/control.mk.orig --- a/debian/rules.d/control.mk.orig 1970-01-01 00:00:00.0 + +++ b/debian/rules.d/control.mk.orig 2014-04-25 14:14:27.708058521 + Same here [ snip ] diff -urN a/debian/rules.d/debhelper.mk b/debian/rules.d/debhelper.mk --- a/debian/rules.d/debhelper.mk 2014-03-02 15:01:31.0 + +++ b/debian/rules.d/debhelper.mk 2014-04-25 14:14:27.708058521 + @@ -223,7 +223,7 @@ pass= \ suffix= \ ;; \ - *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ + *:/lib32 | *:/lib64 | *:/libx32 | *:/lib | *:/lib/arm-linux-gnueabi*) \ I guess it's because the multilib o32 version is installed in /lib, right? But see below. Yes 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 /etc/d' -i $$t; \ + fi ; \ What is that supposed to do? This is used to avoid installing zz_mips32-biarch-compat.conf for /lib and /usr/lib . $$t is debian/libc6-mips32.install here. 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; \ [ snip ] diff -urN a/debian/sysdeps/mips64el.mk b/debian/sysdeps/mips64el.mk --- a/debian/sysdeps/mips64el.mk 1970-01-01 00:00:00.0 + +++ b/debian/sysdeps/mips64el.mk 2014-04-25 14:14:27.712058556 + @@ -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
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
I refresh this patch with 2.18-4, and let libc6 breaks: libc6-mips64 [mips64 mips64el], libc6-mipsn32 [mipsn32 mipsn32el], libc6-mips32 [mips mipsel], On Thu, Feb 27, 2014 at 9:20 AM, Yunqiang Su wzss...@gmail.com wrote: I refresh this patch with 2.18-3 On Mon, Oct 7, 2013 at 9:50 AM, YunQiang Su wzss...@gmail.com wrote: I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. -- YunQiang Su -- Yunqiang Su -- Yunqiang Su -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/CAKcpw6XZSH=1k2cLr64noc_=w8kowwbaaqdkxme4y58zqkk...@mail.gmail.com
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
I refresh the patches with 2.17-93. It's time to consider to merge it. Now we have about 7000 packages build successfully already. This architecture may be in debian-ports in near future. -- YunQiang Su mips64.diff Description: Binary data
Bug#715038: Bug #715038: add mips64(el) mipsn32(el) support to eglibc
Attached is an updated version of this patch. This version changes the way of generating libfake.{a,so} from using ar to use gcc. Sometimes ar generates MIPS64r1 version of the file, using gcc can make sure it is always MIPS64r2. Thanks, Eleanor Chen -- It is the time you have spent for your rose that makes your rose so important. mips64.diff Description: Binary data
Bug#715038: add mips64(el) mipsn32(el) support to eglibc
Package: eglibc Version: 2.17-6 This patch adds multilib enabled mips64(el) mipsn32(el) configurations to eglibc. Exceptions are: * The version of linux-libc-dev should be greater than or equal to 3.10 on mips64(el) to getdents64 syscall, so that python 3.3 can be built. * We choose gcc 4.8 as the default compiler for these new ports. Thank you. Eleanor eglibc-mips64.patch Description: Binary data