Bug#715038: add mips64(el) mipsn32(el) support to eglibc

2014-06-11 Thread Aurelien Jarno
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

2014-06-11 Thread Yunqiang Su
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

2014-06-10 Thread Sphinx Jiang
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

2014-06-09 Thread Sphinx Jiang
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

2014-06-09 Thread Aurelien Jarno
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

2014-06-09 Thread Yunqiang Su
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

2014-06-09 Thread Aurelien Jarno
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

2014-06-09 Thread Aurelien Jarno
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

2014-06-09 Thread Aron Xu
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

2014-06-09 Thread Aron Xu
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

2014-06-09 Thread Aurelien Jarno
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

2014-06-09 Thread Aurelien Jarno
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

2014-06-09 Thread Aurelien Jarno
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

2014-06-05 Thread Yunqiang Su
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

2014-05-19 Thread Yunqiang Su
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

2014-05-07 Thread Aurelien Jarno
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

2014-05-07 Thread Yunqiang Su
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

2014-04-25 Thread Yunqiang Su
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

2013-10-06 Thread YunQiang Su
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

2013-08-03 Thread Eleanor Chen
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

2013-07-05 Thread Eleanor Chen
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