Hi Jun,

Jun Sun wrote:
See below.

On Sat, Jul 19, 2008 at 12:13:23PM +1000, Greg Ungerer wrote:
I build my own from gnu source. You can download my arm-linux 4.2.1
toolchain from:

http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/arm-linux-tools-20070808.tar.gz

The instructions I used to build it are at:

http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/build-arm-linux-4.2.1

This toolchain is multilibed for soft and hard float, and also
for big and little endian. I use it for both MMUless and MMU arm
targets (like ARM7TDMI, xscale, ARM9, etc).

I use it specifically against uClinux-dist, so it works well for
that.


Your tools worked fine for a ARM7TDMI board with the latest uCLinux test
dist. Thanks.

However, I am still fighting a couple of issues trying to follow your
instructions and building the tools from source. Before I dig in dark
any futher, here are a couple of possibly dumb questions:

* Your instructions are building the tools with glibc, but uCLinux
  is using uclibc. How does that work out?

Works out fine :-)
With proper option settings the libs in the toolchain are not used.
And uClinux dist is setup to do the right things and not rely on
the toolchain libs.

The only reason I even bother to actually generate a libc with
the toolchain is so that it can contain the c++ bits required
(can't compile those in gcc without a compiled libc present).

For a host toolchain it makes sense to have a libc present.
For cross compiling it is much less useful in my opinion.
And I for one am not going to change my toolchain just to
compile for targets using different libraries (and library versions :-)


  Wouldn't your tool have
  issues in compiling userland since it assumes glibc and probably
  including glibc headers instead of uclibc?

It is only an issue if you want to compile stand alone apps (not within
a framework like uClinux-dist). In that case you would need to either
compile/link static, or put the toolchain libs on the target as well.


* A few places in your instructions uses "--with-headers=linux-2.6.x/include".
  Should we change that to the real path on my machine that leads to the
  uclinux dist directory?

Yes. Change that to point to /.../uClinux-dist/linux-2.6.x/include.
(Note that the kernel tree needs to be configured for some arm target:

   cd /.../uClinux-dist/linux-2.6.x
   make ARCH=arm menuconfnig
   make ARCH=arm CROSS_COMPILE=arm-linux-

woud do the trick).


I am using fedora core 9 host. The host gcc is 4.3, which seems to be
much pickier than before. That is why I am having some issues in going through your instructions.

Yes that would be true. I specifically keep and old FC3 box around
just for compiling tool chains. Binaries from it will pretty much run
on anything (including x86_64 systems).

Regards
Greg


------------------------------------------------------------------------
Greg Ungerer  --  Chief Software Dude       EMAIL:     [EMAIL PROTECTED]
Secure Computing Corporation                PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to