This is the mail archive of the 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]
Other format: [Raw text]

Re: ColdFire tweaked gcc available for download

I have been using gcc 2.95.3 with David Fiddes Coldfire patches for some
time, compiling for a 68332 (cpu32) target.  This version is almost exactly
two years old now, and gcc has had a lot of improvements since then (I also
use it for a couple of other processors).  Additionally, I expect to be
working with a ucLinux system running on a Coldfire 5272 - the ucLinux
website also has gcc 2.95.3, with David Fiddes Coldfire patches (and a
couple of other patches).

What I am wondering, is whether I should be moving on from 2.95.3, and if
so, to what?  As far as I understand it, the patches add two things to the
basic gcc 2.95.3 - better code generation for the ColdFire, and the
"interrupt" attribute for C-level interrupt functions.  Does this new
version of gcc-3.0.4 improve on this?  If so, then presumably this is the
most sensible choice for a compiler for the ColdFire.  Does it support the
"interrupt" patches?  And how does it compare to newer versions of the main
gcc tree?  There have been a number of general improvements (such as compile
speed, and various language extensions) in gcc since 2.95.3, but have there
been any changes to the code generation for the m68k family?  And are these
changes going to be incorperated into the main gcc tree, or are they always
going to be patches?

I realise that's a lot of questions, but I'm a bit confused as to where we
stand today with embedded m68k tools, and where things are going.  I'm
actually quite happy with the tools I have now - they may be two years old,
but they still work perfectly well.  However, if there are improvements
available then I am obviously interested.  I also would expect ucLinux
developers to be interested too.  Am I right in thinking that a sizeable
proportion of m68k gcc useage today is cross-compiling for embedded targets,
rather than native compilation on m68k hosts?

David Brown

> I've finally gotten the time to pull together what I've done to
> gcc-3.0.4 to generate better code for ColdFire and put it up on my
> home CVS server.
> I've added support for -m5206e, -m5307, -m5407, -mcfv4e.  This version
> of the compiler does indeed produce decent FPU code for ColdFire v4e,
> as well as better support for btst/bset/bclr, support for the new ISA-B
> instructions, as well as better prologue/epilogue code, and also
> support for the interrupt attribute on functions.
> I hope that those interested will try it out and email me with
> compliments/complaints or suggestions on how to make it better.  I'm
> trying(slowly in my spare time) to pull these changes forward into
> gcc-3.2+ and I expect to add that tree to my CVS server.
> Set CVSROOT in your environment to :pserver:anoncvs at baradas dot org:/home/cvs
> Alternately add -d :pserver:anoncvs at baradas dot org:/home/cvs in the CVS
> commands below (place it immediately after cvs, before any other
> Issue the command:
> cvs login
> You will be prompted for a password; reply with the string "anoncvs"
> (without the quotes).
> Issue the command:
> cvs -z 9 co xgcc
> to check out the compiler/binutils/newlib sources, and you'll have in
> the xgcc subdirectory the following:
> Makefile
> binutils-2.13
> gcc-304
> newlib-1.10.0
> which take up about 163MB of disk space.
> Execute make in the xgcc directory to bild a m68k-elf cross toolchain
> which will be installed in /tmp/m68k-elf.
> The obj/m68k-elf directory consumes 478MB of disk space.
> The installed tools in /tmp/m68k-elf take up 154MB.
> Edit the Makefile and change PREFIX to wherever you want the tools
> --
> Peter Barada
> peter at baradas dot org
> ------
> Want more information?  See the CrossGCC FAQ,
> Want to unsubscribe? Send a note to
crossgcc-unsubscribe at sources dot redhat dot com

Want more information?  See the CrossGCC FAQ,
Want to unsubscribe? Send a note to crossgcc-unsubscribe at sources dot redhat dot com

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]