This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
SH Linux: remove big endian multilib
NIIBE Yutaka writes:
> Andrew Haley wrote:
> > On SH Linux glibc isn't multilibbed, so it make no sense at all to try
> > to build big endian multilibs. There's no way that it's possible to
> > build them because there's no big endian libc.so or ld-linux.so or
> > crt1.o to link against.
>
> I think that the target "sh-unknown-linux-gnu" supports all of SH-3,
> SH-3 Big endian, SH-4 and SH-4 big endian, while
> "sh3-unknown-linux-gnu"
> "sh3eb-unknown-linux-gnu"
> "sh4-unknown-linux-gnu"
> "sh4eb-unknown-linux-gnu"
> just supports corresponding one target (no multilib).
>
> So, I don't think your patch is correct approach. In the first place,
> why do we need glibc to build GCC?
You need it in order to be able to do a top level build that includes
the target libraries such as libstdc++.
> At least, building GNU C compiler should be able to be done with no
> glibc (to bootstrap).
Sure, but that's just the compiler. There's much more to gcc than
just the compiler.
> If you don't have glibc with big endian (or other targets), you can
> build it. Yes, it is not (yet) multilibbed, but it supports all of
> those four targets: "sh3-unknown-linux-gnu",
> "sh3eb-unknown-linux-gnu", "sh4-unknown-linux-gnu", and
> "sh4eb-unknown-linux-gnu". So, it's just your installation problem,
> isn't it?
No. The top level build of gcc on an SH Linux system (i.e. SH3,
little endian) does not work at the present time. The user should not
have to create big endian versions of glibc in order to configure and
build gcc.
There's no reason not to add more targets, but
a. The top level build of gcc *must* build, and
b. It should have a sensible default configuration. At present, SH
Linux targets a SH3 and little endian, so gcc should do the same.
Andrew.