Resulting files from canadian cross

Maurits van de Kamp mvk@hitechnologies.nl
Thu Mar 8 13:06:00 GMT 2007


Hi all,

New member here, tried to read the FAQs but the weblink is dead and the
FAQ provided by the mailinglist service is empty. So, here goes :o)

After a lot of trial and erroring, I managed to use crosstool to create
an arm crosscompiler on an intel pc, and with that crosscompiler create
an arm native compiler to run on my arm development board. (Because some
sources simply won't cross compile). In case anybody else is trying: Use
gcc 4.0.2 and glibc 2.3.6. According to the scripts you could also use
4.1.0/2.3.2 since this combination is available for both intel and arm,
but still the cross-compilation of the compiler fails with that
combination due to a disagreement on whether malloc should be void* or
char*.

Anyway, it all works, but I'm pretty daunted by the resulting files when
I create the arm-native compiler. I used /opt/arm on the pc as top
directory. In there, I find:
/opt/arm/gcc-4.0.2-glibc-2.3.6/arm-unknown/linux-gnu/ - so far so good.

In this directory, there is a set of /usr/*-like directories (ie lib,
include and so on), but also yet another arm-unknown-linux-gnu directory
with even more usr/*-like directories. Both these directories have gcc
in them (though in the latter the executable is called
arm-unknown-linux-gnu-gcc), and these binaries are, according to diff,
identical. The main difference is in the libraries and headers; it
appears I need both these directories to get things working (despite the
fact that there clearly is a lot of overlap).

Now the only way I can get it working, is if I put the whole /opt/arm
structure on my arm (and put the two bin directories in my path). Then
and only then can gcc find all its includes, cc1, etc.

So it does work (at least a helloworld does), but before I can set up a
sensible development environment on the arm I'd like to understand a bit
more about what does what. Is there any documentation about this, or is
it just something every  reasonably experienced Linux user knows except
me? :o) If I want to use a slightly more overseeable directory
structure, I guess I have to use fix-embedded-paths, but how do I use
that? Should I run that on all the gcc-compilers and tools?

Thanks for any help!

Maurits.



--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list