avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-libc-dev] New release?


From: Dmitry K.
Subject: Re: [avr-libc-dev] New release?
Date: Thu, 29 Nov 2007 17:03:15 +1000
User-agent: KMail/1.5

On Thursday 29 November 2007 02:16, Anatoly Sokolov wrote:
[...]
> I suggest to set up the minimal required version of GCC as 4.2.
> It will allow:
>
> 1. To remove check of new devices which are already supported in the GCC
> 4.2 from 'configure.ac' file.
>
> 2. To remove avr25 divices from 'AVR12_DEV_INFO' in 'gen-avr-lib-tree.sh'
> file, and do not build 'crt*' files for this devices twice.
>
> 3. Do not define '__AVR_HAVE_MOVW__', '__AVR_HAVE_LPMX__' and
> '__AVR_HAVE_MUL__' macros in avr-libc.

I object.
The listed items have no value for users and are not burdensome
for developers of Avr-libc.

On the contrary, I would warn against rash transition
to version 4.2.

GCC 4.2 is too agressive in optimization. For example,
the next function is translated as infinite loop (-Os):
   void foo (void)
   {
      int i;
      for (i = 1; i >= 0; i++) bar ();
   }
More, common options '-W -Wall' do NOT type any warnings!

Simultaneously quality of a code concedes not only to
branches 3.3 and 3.4, but even concedes to a branch 4.1.
For example, Avr-libc's sscanf("1.2345","%e",&x) takes
3886 bytes of flash and 140 bytes of stack with 4.2.2.
Above branch (4.1.2) uses only 3802 bytes of flash and
128 bytes of stack.

Dmitry.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]