Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-04 Thread Stuart Anderson

On Sat, 4 Mar 2006, Aurelien Jarno wrote:

Yes that's is wanted. You have to install the resulting binaries with 
--force-depends until gcc is rebuilt. I am working on a patch for it, but 
that's a bit more complex.


I bet it is more complex. My original patch used the non-'n' names since
the package already new how to build them. It just had to be convinced to
build them both at the same time. Similarly, the MULTILIB_DIRNAMES change
for gcc was to use the dir names that glibc already new about.


Stuart

Stuart R. Anderson   [EMAIL PROTECTED]
Network & Software Engineering   http://www.netsweng.com/
1024D/37A79149:  0791 D3B8 9A4C 2CDC A31F
 BD03 0A62 E534 37A7 9149


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-04 Thread Martin Michlmayr
* Aurelien Jarno <[EMAIL PROTECTED]> [2006-03-05 00:00]:
> Yes it would be nice, as I don't have a mipsel machine, and as I
> would like to continue working on that, ie gcc, zlib, and then a few
> other libraries.

You know what, I'll just give you an account on my box so you can play
around yourself.
-- 
Martin Michlmayr
http://www.cyrius.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-04 Thread Aurelien Jarno

Martin Michlmayr a écrit :

* Aurelien Jarno <[EMAIL PROTECTED]> [2006-03-03 17:37]:


I would be very nice. The new glibc source packages are on:
http://people.debian.org/~aurel32/mips-triarch/glibc/



Sorry, I had to do something else yesterday and then I spent all of
day restoring my laptop after its hard drive died.  Given that Stuart


No problem.


already built it on mipsel, do you still want mips done?  Just give me
a shout and I'll start a build.


Yes it would be nice, as I don't have a mipsel machine, and as I would 
like to continue working on that, ie gcc, zlib, and then a few other 
libraries.



--
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian GNU/Linux developer | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-04 Thread Aurelien Jarno

Stuart Anderson a écrit :

On Fri, 3 Mar 2006, Stuart Anderson wrote:


I would be very nice. The new glibc source packages are on:
http://people.debian.org/~aurel32/mips-triarch/glibc/



My LE build finished. It was quicker, but still took several hours.

The build went smoothly, but when I went to install the packages, the new
dev packages, libc6-dev-mipsn32 & libc6-dev-mipsn64 would not install
because they are looking for libn32gcc1 and libn64gcc1. I have lib32gcc1
and lib64gcc1 (without the 'n') here.

Did you mean to change those dependencies? Iirc, the gcc patch that is
floating around builds the no-'n' versions of libXXgcc1.



Yes that's is wanted. You have to install the resulting binaries with 
--force-depends until gcc is rebuilt. I am working on a patch for it, 
but that's a bit more complex.


--
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian GNU/Linux developer | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-04 Thread Martin Michlmayr
* Aurelien Jarno <[EMAIL PROTECTED]> [2006-03-03 17:37]:
> I would be very nice. The new glibc source packages are on:
> http://people.debian.org/~aurel32/mips-triarch/glibc/

Sorry, I had to do something else yesterday and then I spent all of
day restoring my laptop after its hard drive died.  Given that Stuart
already built it on mipsel, do you still want mips done?  Just give me
a shout and I'll start a build.
-- 
Martin Michlmayr
http://www.cyrius.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-03 Thread Stuart Anderson

On Fri, 3 Mar 2006, Stuart Anderson wrote:


I would be very nice. The new glibc source packages are on:
http://people.debian.org/~aurel32/mips-triarch/glibc/


My LE build finished. It was quicker, but still took several hours.

The build went smoothly, but when I went to install the packages, the new
dev packages, libc6-dev-mipsn32 & libc6-dev-mipsn64 would not install
because they are looking for libn32gcc1 and libn64gcc1. I have lib32gcc1
and lib64gcc1 (without the 'n') here.

Did you mean to change those dependencies? Iirc, the gcc patch that is
floating around builds the no-'n' versions of libXXgcc1.

Stuart

Stuart R. Anderson   [EMAIL PROTECTED]
Network & Software Engineering   http://www.netsweng.com/
1024D/37A79149:  0791 D3B8 9A4C 2CDC A31F
 BD03 0A62 E534 37A7 9149


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-03 Thread Goswin von Brederlow
Aurelien Jarno <[EMAIL PROTECTED]> writes:

> Goswin von Brederlow a écrit :
>> Aurelien Jarno <[EMAIL PROTECTED]> writes:
>>
>>>Note also that the other architectures does not encode the ABI name in
>>>32-bit or 64-bit packages. I mean that the package is not called for
>>>example libi386c-dev and the libgcc package is called lib32gcc1-dev and
>>>not libi386gcc1-dev.
>> On the other hand libc6-amd64 and libc6-i486 are used.
>
> Just like libc6-mipsn32 and libc6-mipsn64 are used there. I was
> speaking about other packages such as lib32z1 or lib32gcc1.

I was hinting that maybe it should be zlib1g-mipsn32 instead of
lib32z1 and zlib1g-i486 and so on.

>> The problem with tri-arch mips is that the architecture does not map
>> 1:1 to abis as it does for other archs.

MfG
Goswin



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-03 Thread Stuart Anderson

On Fri, 3 Mar 2006, Aurelien Jarno wrote:


I would be very nice. The new glibc source packages are on:
http://people.debian.org/~aurel32/mips-triarch/glibc/


I'll give it a try on mipsel.

BTW, will you use the new 1480 board? The glibc uses as much as processors as 
available using make -j.


Cool. Hopefully this will shorten the build time considerably.



Stuart

Stuart R. Anderson   [EMAIL PROTECTED]
Network & Software Engineering   http://www.netsweng.com/
1024D/37A79149:  0791 D3B8 9A4C 2CDC A31F
 BD03 0A62 E534 37A7 9149


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-03 Thread Aurelien Jarno

Martin Michlmayr a écrit :

* Aurelien Jarno <[EMAIL PROTECTED]> [2006-03-03 16:42]:


Ok, I will then try to redo the patches from Stuart Anderson for
glibc, gcc and zlib.

See you in a week (the time to rebuild all on my mips).



Put source packages somewhere and I can compile it for you.


I would be very nice. The new glibc source packages are on:
http://people.debian.org/~aurel32/mips-triarch/glibc/

The package to build is the version 2.3.6-3+mips. You will probably have 
to use packages from old/ to satisfy the build-dependencies.


BTW, will you use the new 1480 board? The glibc uses as much as 
processors as available using make -j.


Thanks,
Aurelien

--
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-03 Thread Martin Michlmayr
* Aurelien Jarno <[EMAIL PROTECTED]> [2006-03-03 16:42]:
> Ok, I will then try to redo the patches from Stuart Anderson for
> glibc, gcc and zlib.
> 
> See you in a week (the time to rebuild all on my mips).

Put source packages somewhere and I can compile it for you.
-- 
Martin Michlmayr
http://www.cyrius.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-03 Thread Aurelien Jarno

Thiemo Seufer a écrit :

On Thu, Mar 02, 2006 at 06:53:16PM +0100, Aurelien Jarno wrote:
[snip]


Other architectures have a simple separation between 32 and 64 bit. For
Mips there's often some confusion what n32 qualifies for (embedded
people often call it 64 bit without further qualification). That's why
I recommended to use the ABI names instead. This also avoids the heavily
overloaded "mips32" and "mips64" terms.


You mean for the libc provided packages or in general?



In general.


If you mean something like libn32gcc1, libn64gcc1 or libn32z1, libn64z1, 
just be aware that it makes patches to bi/tri-arch packages a lot 
bigger. If using 32 or 64, it usually means just adding mips and mipsel 
to a variable.



And then people have to remember that lib32gcc1 provides _not_ the usual
32bit ABI (and doesn't even work on a 32bit CPU, or a 32bit kernel
running on a 64bit capable CPU). This usually goes wrong.


Ok, I will then try to redo the patches from Stuart Anderson for glibc, 
gcc and zlib.


See you in a week (the time to rebuild all on my mips).

Bye,
Aurelien

--
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-03 Thread Thiemo Seufer
On Thu, Mar 02, 2006 at 06:53:16PM +0100, Aurelien Jarno wrote:
[snip]
> >Other architectures have a simple separation between 32 and 64 bit. For
> >Mips there's often some confusion what n32 qualifies for (embedded
> >people often call it 64 bit without further qualification). That's why
> >I recommended to use the ABI names instead. This also avoids the heavily
> >overloaded "mips32" and "mips64" terms.
> 
> You mean for the libc provided packages or in general?

In general.

> If you mean something like libn32gcc1, libn64gcc1 or libn32z1, libn64z1, 
> just be aware that it makes patches to bi/tri-arch packages a lot 
> bigger. If using 32 or 64, it usually means just adding mips and mipsel 
> to a variable.

And then people have to remember that lib32gcc1 provides _not_ the usual
32bit ABI (and doesn't even work on a 32bit CPU, or a 32bit kernel
running on a 64bit capable CPU). This usually goes wrong.


Thiemo


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-02 Thread Aurelien Jarno

Thiemo Seufer a écrit :

On Thu, Mar 02, 2006 at 06:01:26AM +0100, Aurelien Jarno wrote:
[snip]


+Description: GNU C Library: n32 Shared libraries for MIPS
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the n32 version
+ of the library, meant for MIPS systems.
+
+Package: libc6-dev-mipsn32
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn32c-dev


What about providing lib32c-dev instead? It seems more "standard"
compared to the other ports, and it also have the advantage for other
biarch packages to use a unique name across all the architectures.

Note also that the other architectures does not encode the ABI name in
32-bit or 64-bit packages.



Other architectures have a simple separation between 32 and 64 bit. For
Mips there's often some confusion what n32 qualifies for (embedded
people often call it 64 bit without further qualification). That's why
I recommended to use the ABI names instead. This also avoids the heavily
overloaded "mips32" and "mips64" terms.



You mean for the libc provided packages or in general?

If you mean something like libn32gcc1, libn64gcc1 or libn32z1, libn64z1, 
just be aware that it makes patches to bi/tri-arch packages a lot 
bigger. If using 32 or 64, it usually means just adding mips and mipsel 
to a variable.


--
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-02 Thread Aurelien Jarno

Goswin von Brederlow a écrit :

Aurelien Jarno <[EMAIL PROTECTED]> writes:



Note also that the other architectures does not encode the ABI name in
32-bit or 64-bit packages. I mean that the package is not called for
example libi386c-dev and the libgcc package is called lib32gcc1-dev and
not libi386gcc1-dev.



On the other hand libc6-amd64 and libc6-i486 are used.


Just like libc6-mipsn32 and libc6-mipsn64 are used there. I was speaking 
about other packages such as lib32z1 or lib32gcc1.



The problem with tri-arch mips is that the architecture does not map
1:1 to abis as it does for other archs.


--
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-02 Thread Thiemo Seufer
On Thu, Mar 02, 2006 at 06:01:26AM +0100, Aurelien Jarno wrote:
[snip]
> > +Description: GNU C Library: n32 Shared libraries for MIPS
> > + This package includes shared versions of the standard C library and the
> > + standard math library, as well as many others. This is the n32 version
> > + of the library, meant for MIPS systems.
> > +
> > +Package: libc6-dev-mipsn32
> > +Architecture: mips mipsel
> > +Section: libdevel
> > +Priority: standard
> > +Provides: libn32c-dev
> 
> What about providing lib32c-dev instead? It seems more "standard"
> compared to the other ports, and it also have the advantage for other
> biarch packages to use a unique name across all the architectures.
>
> Note also that the other architectures does not encode the ABI name in
> 32-bit or 64-bit packages.

Other architectures have a simple separation between 32 and 64 bit. For
Mips there's often some confusion what n32 qualifies for (embedded
people often call it 64 bit without further qualification). That's why
I recommended to use the ABI names instead. This also avoids the heavily
overloaded "mips32" and "mips64" terms.

[snip]
> > Index: debian/sysdeps/mips.mk
> > ===
> > --- debian/sysdeps/mips.mk  (.../vendor/glibc/current)  (revision 0)
> > +++ debian/sysdeps/mips.mk  (.../src/glibc) (revision 144)
> > @@ -0,0 +1,29 @@
> > +GLIBC_PASSES += mipsn64 mipsn32
> > +DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn64 libc6-dev-mipsn64 libc6-mipsn32 
> > libc6-dev-mipsn32
> > +# This is needed to keep binutils (ar & ranlib) from getting confused about
> > +# the file format being used.
> > +export GNUTARGET=elf64-tradbigmips
> 
> I have concerned with this. I understand that is is a workaround
> necessary to currently build the glibc, however, I would prefer to have
> a fixed binutils instead of that.
> 
> Note that such a hack is also necessary to build zlib, so I think it is
> virtually necessary for all 64-bit stuff.

N64 uses 64 bit archives, while ar (or rather BFD) assumes 32 bit as
default and falls over its feet when it should switch to 64 bit.


Thiemo


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-02 Thread Goswin von Brederlow
Aurelien Jarno <[EMAIL PROTECTED]> writes:

> Note also that the other architectures does not encode the ABI name in
> 32-bit or 64-bit packages. I mean that the package is not called for
> example libi386c-dev and the libgcc package is called lib32gcc1-dev and
> not libi386gcc1-dev.

On the other hand libc6-amd64 and libc6-i486 are used.

The problem with tri-arch mips is that the architecture does not map
1:1 to abis as it does for other archs.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-01 Thread Stuart Anderson

On Thu, 2 Mar 2006, Aurelien Jarno wrote:


Please note also that I used a modified version of this patch (mainly
because the glibc has changed since you reported the bug) to bootstrap
32-bit and 64-bit glibc/gcc/zlib on mips.


I am glad to hear that you were successful!


You can find all the corresponding packages on:
http://people.debian.org/~aurel32/mips-triarch/


It looks these are big endian. This nicely compliments the (slightly older)
little endian packages at http://www.helix-hpc.com/apt/.

I know I need to play catch up once again. Sometimes it seems like a new
source package comes out before I can finish the builds from re-syncing with
the previous package 8-).

I should be able to get the LE packages caught again up in the next couple
of days.


+Conflicts: libc6-mips32


Why a confict there? Does such a package has existed in the archive?


No, not in the Debian archive. It existed in my local archive, and was the
result of some package renaming that was done in response to some earlier
comments. This particular Conflict should not be needed in the real packages.


+Provides: libn32c-dev


What about providing lib32c-dev instead?


I can't get to my source right this momment to check, but isn't lib32c-dev
provided by the o32 package?


compared to the other ports, and it also have the advantage for other
biarch packages to use a unique name across all the architectures.


If there is a change that makes things more consistant, I would have
no objection.


Note also that the other architectures does not encode the ABI name in
32-bit or 64-bit packages. I mean that the package is not called for
example libi386c-dev and the libgcc package is called lib32gcc1-dev and
not libi386gcc1-dev.


Some of the unusual names are needed to distinguish between the two 32 ABIs,
o32 and n32.


+# This is needed to keep binutils (ar & ranlib) from getting confused about
+# the file format being used.
+export GNUTARGET=elf64-tradbigmips


I have concerned with this. I understand that is is a workaround
necessary to currently build the glibc, however, I would prefer to have
a fixed binutils instead of that.


I have been remiss in not getting a proper bug filed against binutils for this.
I'll try to get this taken care of tomorrow.


Stuart

Stuart R. Anderson   [EMAIL PROTECTED]
Network & Software Engineering   http://www.netsweng.com/
1024D/37A79149:  0791 D3B8 9A4C 2CDC A31F
 BD03 0A62 E534 37A7 9149


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2006-03-01 Thread Aurelien Jarno
[Cc:ing [EMAIL PROTECTED], as some people might be interested there]

Hi!

On Sat, Dec 03, 2005 at 01:42:10PM -0700, Stuart Anderson wrote:
> Package: libc6
> Version: 2.3.5-8.2
> Severity: wishlist
> Tags: patch
> 
> 
> Please enable tri-arch support for the MIPS platforms. The attached
> patch (And corresponding patch for gcc #341882) provide support for n32
> & n64 ABIs in addition to the current o32 ABI. These patches have been
> tested by building n32 & n64 version of the ltp packages.
> 

I have just reviewed your patch, please find my comments inline (parts
where I agree have been removed).

Please note also that I used a modified version of this patch (mainly
because the glibc has changed since you reported the bug) to bootstrap
32-bit and 64-bit glibc/gcc/zlib on mips. You can find all the 
corresponding packages on:
http://people.debian.org/~aurel32/mips-triarch/

> Index: debian/control
> ===
> --- debian/control(.../vendor/glibc/current)  (revision 144)
> +++ debian/control(.../src/glibc) (revision 144)
> @@ -424,6 +424,49 @@
>   which use the standard C library. This is the 64bit version of the
>   library, meant for PowerPC64 systems.
>  
> +Package: libc6-mipsn32
> +Architecture: mips mipsel
> +Section: base
> +Priority: required
> +Depends: libc6 (= ${Source-Version})
> +Conflicts: libc6-mips32

Why a confict there? Does such a package has existed in the archive?

> +Description: GNU C Library: n32 Shared libraries for MIPS
> + This package includes shared versions of the standard C library and the
> + standard math library, as well as many others. This is the n32 version
> + of the library, meant for MIPS systems.
> +
> +Package: libc6-dev-mipsn32
> +Architecture: mips mipsel
> +Section: libdevel
> +Priority: standard
> +Provides: libn32c-dev

What about providing lib32c-dev instead? It seems more "standard"
compared to the other ports, and it also have the advantage for other
biarch packages to use a unique name across all the architectures.

Note also that the other architectures does not encode the ABI name in
32-bit or 64-bit packages. I mean that the package is not called for
example libi386c-dev and the libgcc package is called lib32gcc1-dev and
not libi386gcc1-dev.

> +Depends: libc6-mipsn32 (= ${Source-Version}), libc6-dev (= 
> ${Source-Version}), lib32gcc1
> +Description: GNU C Library: n32 Development Libraries for MIPS
> + Contains the symlinks and object files needed to compile and link programs
> + which use the standard C library. This is the n32 version of the
> + library, meant for MIPS systems.
> +
> +Package: libc6-mipsn64
> +Architecture: mips mipsel
> +Section: base
> +Priority: required
> +Depends: libc6 (= ${Source-Version})
> +Description: GNU C Library: 64bit Shared libraries for MIPS64
> + This package includes shared versions of the standard C library and the
> + standard math library, as well as many others. This is the 64bit version
> + of the library, meant for MIPS64 systems.
> +
> +Package: libc6-dev-mipsn64
> +Architecture: mips mipsel
> +Section: libdevel
> +Priority: standard
> +Provides: libn64c-dev

Same comment as for the 32-bit part.

> +Depends: libc6-mipsn64 (= ${Source-Version}), libc6-dev (= 
> ${Source-Version}), lib64gcc1
> +Description: GNU C Library: 64bit Development Libraries for MIPS64
> + Contains the symlinks and object files needed to compile and link programs
> + which use the standard C library. This is the 64bit version of the
> + library, meant for MIPS64 systems.
> +
>  Package: libc6-sparcv9
>  Architecture: sparc
>  Section: libs

> Index: debian/sysdeps/mips.mk
> ===
> --- debian/sysdeps/mips.mk(.../vendor/glibc/current)  (revision 0)
> +++ debian/sysdeps/mips.mk(.../src/glibc) (revision 144)
> @@ -0,0 +1,29 @@
> +GLIBC_PASSES += mipsn64 mipsn32
> +DEB_ARCH_REGULAR_PACKAGES += libc6-mipsn64 libc6-dev-mipsn64 libc6-mipsn32 
> libc6-dev-mipsn32
> +# This is needed to keep binutils (ar & ranlib) from getting confused about
> +# the file format being used.
> +export GNUTARGET=elf64-tradbigmips

I have concerned with this. I understand that is is a workaround
necessary to currently build the glibc, however, I would prefer to have
a fixed binutils instead of that.

Note that such a hack is also necessary to build zlib, so I think it is
virtually necessary for all 64-bit stuff.

> +mipsn32_MIN_KERNEL_SUPPORTED = 2.6.0
> +mipsn32_configure_target = mips64-linux
> +mipsn32_CC = $(CC) -mabi=n32
> +mipsn32_extra_cflags = 
> +mipsn32_add-ons = linuxthreads $(add-ons)
> +libc6-mipsn32_shlib_dep = libc6-mipsn32 (>= $(shlib_dep_ver))
> +mipsn32_LIBDIR = 32
> +mipsn32_extra_config_options := $(extra_config_options) --with-__thread 
> --disable-profile
> +
> +mipsn64_MIN_KERNEL_SUPPORTED = 2.6.0
> +mipsn64_configure_target = mips64-linux
> +mipsn64_CC = $(CC) -mabi=64
> +mipsn64_extra_cflags = 
> 

Bug#341884: libc6: [mips] tri-arch support for mips & mipsel

2005-12-03 Thread Stuart Anderson
Package: libc6
Version: 2.3.5-8.2
Severity: wishlist
Tags: patch


Please enable tri-arch support for the MIPS platforms. The attached
patch (And corresponding patch for gcc #341882) provide support for n32
& n64 ABIs in addition to the current o32 ABI. These patches have been
tested by building n32 & n64 version of the ltp packages.


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (600, 'testing')
Architecture: mipsel (mips64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-rc1-Helix64-smp
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

-- no debconf information
Index: debian/control
===
--- debian/control  (.../vendor/glibc/current)  (revision 144)
+++ debian/control  (.../src/glibc) (revision 144)
@@ -424,6 +424,49 @@
  which use the standard C library. This is the 64bit version of the
  library, meant for PowerPC64 systems.
 
+Package: libc6-mipsn32
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Conflicts: libc6-mips32
+Description: GNU C Library: n32 Shared libraries for MIPS
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the n32 version
+ of the library, meant for MIPS systems.
+
+Package: libc6-dev-mipsn32
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn32c-dev
+Depends: libc6-mipsn32 (= ${Source-Version}), libc6-dev (= ${Source-Version}), 
lib32gcc1
+Description: GNU C Library: n32 Development Libraries for MIPS
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the n32 version of the
+ library, meant for MIPS systems.
+
+Package: libc6-mipsn64
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Description: GNU C Library: 64bit Shared libraries for MIPS64
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the 64bit version
+ of the library, meant for MIPS64 systems.
+
+Package: libc6-dev-mipsn64
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn64c-dev
+Depends: libc6-mipsn64 (= ${Source-Version}), libc6-dev (= ${Source-Version}), 
lib64gcc1
+Description: GNU C Library: 64bit Development Libraries for MIPS64
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the 64bit version of the
+ library, meant for MIPS64 systems.
+
 Package: libc6-sparcv9
 Architecture: sparc
 Section: libs
Index: debian/control.in/mips64
===
--- debian/control.in/mips64(.../vendor/glibc/current)  (revision 0)
+++ debian/control.in/mips64(.../src/glibc) (revision 144)
@@ -0,0 +1,21 @@
+Package: libc6-mipsn64
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Description: GNU C Library: 64bit Shared libraries for MIPS64
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the 64bit version
+ of the library, meant for MIPS64 systems.
+
+Package: libc6-dev-mipsn64
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn64c-dev
+Depends: libc6-mipsn64 (= ${Source-Version}), libc6-dev (= ${Source-Version}), 
lib64gcc1
+Description: GNU C Library: 64bit Development Libraries for MIPS64
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the 64bit version of the
+ library, meant for MIPS64 systems.
+
Index: debian/control.in/mips32
===
--- debian/control.in/mips32(.../vendor/glibc/current)  (revision 0)
+++ debian/control.in/mips32(.../src/glibc) (revision 144)
@@ -0,0 +1,22 @@
+Package: libc6-mipsn32
+Architecture: mips mipsel
+Section: base
+Priority: required
+Depends: libc6 (= ${Source-Version})
+Conflicts: libc6-mips32
+Description: GNU C Library: n32 Shared libraries for MIPS
+ This package includes shared versions of the standard C library and the
+ standard math library, as well as many others. This is the n32 version
+ of the library, meant for MIPS systems.
+
+Package: libc6-dev-mipsn32
+Architecture: mips mipsel
+Section: libdevel
+Priority: standard
+Provides: libn32c-dev
+Depends: libc6-mipsn32 (= ${Source-Version}), libc6-dev (= ${Source-Version}), 
lib32gcc1
+Description: GNU C Library: n32 Development Libraries for MIPS
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the n32 version of the
+ library, meant for MIPS systems.
+
Index: debian/changelog
==