|
From: | E. Weddington |
Subject: | Re: [avr-gcc-list] Don't use gcc 3.4.4, use 4.0.1 |
Date: | Thu, 28 Jul 2005 16:12:59 -0600 |
User-agent: | Mozilla Thunderbird 1.0.2 (Windows/20050317) |
Ben Jackson wrote:
For Windows users, don't use 4.0.1, use 4.0.2. Which hasn't been released yet.When I built gcc for AVR I wasn't sure what the Right version of GCC to use was. I've been using a cross-compiling GCC 3.4.4 for another platform with success so I went with that. However, even with -morder1 and -fnew-ra, the code is not nearly as good as 4.0.1 for AVR. My main test file .o text (at the moment mostly poking bits and doing integer math) got 12% shorter with -Os (due in no small part to the fact that it's smarter with registers, resulting in less spilling, resulting in no need for the prolog/eplilog callouts). Of course I've got nearly zero experience with both, so I welcome dissenting opinions, but I wanted to put the recommendation out there for any other newbies.
There are other problems with the 4.x series mainly having to do with DWARF2 debugging information, that only got fixed within the last day or so. These fixes won't be available until 4.0.2 or 4.1, neither of which has been released yet.
DWARF2 debugging information is needed if you are planning on running any simulations in Atmel's AVR Studio.
Having said that, yes, the 4.x series looks like it will generate better AVR code mainly due in large part to work from Björn Haase (Danke!), directly or indirectly.
I'd like some other issues in GCC 4.x to be cleaned up for the AVR port before including it in WinAVR, especially DWARF2 issues. Here is a list of known AVR GCC bugs:
<http://rtems.org/phpwiki/index.php/GCCAVRBugs>(Note that the list does need a little updating (not a lot) which will happen soon).
[Prev in Thread] | Current Thread | [Next in Thread] |