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.