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

Re: Bug#341882: Tri-arch support on mips(el)



Matthias Klose <doko@cs.tu-berlin.de> writes:

> Stuart Anderson writes:
>> On Sat, 11 Feb 2006, Aurelien Jarno wrote:
>> 
>> > Also, I am ready to give some help there. I am first trying to build the
>> > gcc and glibc packages on a mips, but I face a chicken and egg problem
>> > here. Does anybody already have glibc and/or gcc packages for mips? If
>> > not, what is the easiest way to make the bootstrap?
>> 
>> Packages for mispel can be found in http://www.helix-hpc.com/apt/.  IIRC,
>> the bootstrap involved cycling between the gcc & glibc builds a few times,
>> at one point building static archive libraries and copying them in place to
>> allow the build of the opposite package to proceed further.
>
> AFAICS the patch is incorrect for tri-arch, it adds directories to the
> include path for both the old and the new 32bit ABI at the same time.
>
> This is addressed on mainline by
> http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01318.html
>
> we need to integrate that with patch with Debian's /usr/include/<arch>
> include directory, maybe using the multilib dir names, and providing
> symlinks <multilibdir> -> <archdir>.
>
>   Matthias

There was some discussion a while back to forego the creation of new
multiarch dirs and instead reuse the existing cross-compile
directories. Whatever came out of that?

In detail that spells:

/usr/x86_64-linux-gnu/lib
/usr/x86_64-linux-gnu/include
/usr/i386-linux-gnu/lib  (or is that i486?)
/usr/i386-linux-gnu/include

[inserting the proper mips archs is left as an exercise]
{the -gnu is new in sid as dpkg-architecture added it and it is needed
to allow for glibc and uclibc libs}


Currently the behaviour differs between sarge and sid in this regard
(at least on amd64):

mrvn@sarge:~% gcc -v -c foo.c
...
gcc version 3.3.5 (Debian 1:3.3.5-13)
...
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/x86_64-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc-lib/x86_64-linux/3.3.5/include
 /usr/include
End of search list.

mrvn@sid:~% gcc -v -c foo.c
...
gcc version 4.0.3 20060115 (prerelease) (Debian 4.0.2-7)
...
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/include/x86_64-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.0.3/include
 /usr/include
End of search list.


Wouldn't it be better to keep with the existing
/usr/<arch>/{include,lib} scheme from cross-compiling?

MfG
        Goswin



Reply to: