Correct configure magic for building a MIPS cross compiler
Alex Bennee
kernel-hacker@bennee.com
Tue Dec 4 14:12:00 GMT 2007
On Tue, 2007-12-04 at 05:24 -0800, Brian Dessent wrote:
> Alex Bennee wrote:
>
> <snip>
>
> Philosophically there seems to be a divide as to which route to take.
> Personally I think if you're targeting a common system (like linux) then
> you're better off taking a sysroot from an existing system (i.e.
> unpacking a distro's packages) because they are guaranteed to be tested,
> stable, and correct -- even better if you plan to use that distro on
> your actual target hardware eventually because you know there won't be
> any hidden ABI gotchas.
I'd like to build everything from scratch (and document the process). My
plan was along the lines of:
* Build Cross Binutils
* Build Cross GCC (for kernel building)
* Build a MIPS Linux kernel
* Build a libc/newlib (TBD) - based on the user space headers of the
kernel
* Build a Cross GCC (for MIPS userspace)
* Build a MIPS userspace
Somewhere in there I'll be building a MIPS emulator as well, probably
QEMU.
> > Also should libmudflap be needed for building kernels?
>
> If your only intent for this cross compiler is to build linux kernels,
> and that is all, then you don't have to worry about any of this. The
> kernel is standalone, so it doesn't matter if you don't have a libc
> yet.
I assume I can use the kernel compiler to build the libs so I can build
the full userspace compiler?
> You can --disable-libmudflap and any other target libraries that
> require link tests. One thing you may run into is libgcc, which cannot
> be disabled as it's always required (except for kernels.) You can
> however bypass building it by using "make all-gcc" instead of "make".
> The all-gcc target means just build the compiler itself, don't build gcc
> plus target libraries. (There are similarly prefixed versions of all
> makefile targets.)
Ok, thanks I shall give this approach a go.
--
Alex, homepage: http://www.bennee.com/~alex/
Mais espalhado que espirro em farofa.
More information about the Gcc-help
mailing list