Hi

(The URL for avr-gcc for Linux in my previous post was wrong but it
isn't important ...)

Arduino seems to built avr-gcc with
  https://github.com/arduino/toolchain-avr

It's opening page states:
    binutils-2.26
    gcc-5.4.0
    avr-libc-2.0.0
    gdb-7.8

Not gcc-7.3.0 as released as 1.8.10 at
    https://www.arduino.cc/en/Main/Software
as I see today.  It seems to patch upstream a bit.

Further check realized that, staging branch was using gcc-7.3.0 in code
   
https://github.com/arduino/toolchain-avr/commit/3e30e20948a5e3445823ecef23c007937b36583e
The applied patches are extensive!!! (Readme.md was not updated yet)

So this is one key resource.  Providing both avr-gcc 5.4.0 and 7.3.0 as
patched by Arduino toolchain-avr main and staging branches with
update-alternatives may be the best for next release.

I also found
   https://gcc.gnu.org/gcc-10/changes.html#avr

|     Support for the XMEGA-like devices
|
|         ATtiny202, ATtiny204, ATtiny402, ATtiny404, ATtiny406,
|         ATtiny804, ATtiny806, ATtiny807, ATtiny1604, ATtiny1606,
|         ATtiny1607, ATmega808, ATmega809, ATmega1608, ATmega1609,
|         ATmega3208, ATmega3209, ATmega4808, ATmega4809
|
|     has been added.
|     A new command line option -nodevicespecs has been added. It allows
|     to provide a custom device-specs file by means of
|
|         avr-gcc -nodevicespecs -specs=my-spec-file <options>
|
|     and without the need to provide options -B and -mmcu=. See AVR
|     command line options for details. This feature is also available in
|     v9.3+ and v8.4+.  New command line options -mdouble=[32,64] and
|     -mlong-double=[32,64] have been added. They allow to chose the size
|     (in bits) of the double and long double types, respectively. Whether
|     or not the mentioned layouts are available, whether the options act
|     as a multilib option, and what is the default for either option is
|     controlled by the new AVR configure options --with-double= and
|     --with-long-double=.  A new configure option --with-libf7= has been
|     added. It controls to which level avr-libgcc provides 64-bit
|     floating point support by means of Libf7.  A new configure option
|     --with-double-comparison= has been added. It's unlikely you need to
|     set this option by hand.

So gcc-10 had some AVR support efforts.

Osamu

Reply via email to