This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Thu, 25 Jan 2001, Fabrice Gautier wrote: > > Well, I still don't understand why I need the target runtime to build the > cross compiler. I understand I need it to cross-build target applications, > or to cross build some system target libraries that the cross-compiler would > link by default with any application - like startup code or the like - But > for the compiler itself that doesn't make much sense... > (as a matter of fact I always get an xgcc binary before it fails but i don't > know what it is exactly...) First of all, GCC is GNU Compiler Collection, and you sound like you're talking about only the *C* compiler which is part of GCC. So assuming that you're only talking about the C compiler, you're correct that you don't need the target includes/libraries to build xgcc/cc1 (the compiler driver and the backend compiler respectively), but there's one slight problem in building libgcc.a, which is built when you build the C compiler. Unless the "inhibit_libc" macro is defined, GCC will try to look for and include stdio.h and unistd.h. If you looked in libgcc2.c, this would have been apparent. GCC's configure defines this macro when you use --with-newlib at configure time. In this case, you can build the C compiler and libgcc2 without any target includes or libraries. There's no better source of information than the source package. Besides there's quite a bit of misleading information about building cross- development tools using GNU tools that the first stop should always be trying to understand the build process as well as possible. Hard perhaps, but worth it at the end. Some of the other language runtimes may/will not build without access to the target runtime. I hope this explains the issues in some detail, the rest is up to you. > Where are those various schemes documented. I guess i'm more perverse than > you are, and that's probably what I'm looking for... CrossGCC FAQ is always a good place to start, followed by a search using google, altavista, what not. I'm assuming you've looked in the obvious places. > And what was the scheme to cross build for ia64 (or hurd) before their was > any binary libc for ia64 (or hurd) ? (No i don't want to do any of that, but > i'm curious) Bootstrapping a new OS/system is always tricky, and requires a plethora of techniques. Typically, you build a bare cross-compiler, and then use that to build the runtime, or at least some portion of it, and then move it all over to bootstrap the rest. Regards, Mumit ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |