Follow-up Comment #9, bug #57071 (project avr-libc):
The GCC feature is upstream: https://gcc.gnu.org/r277908
The new configure options are:
--with-double={32|64|32,64|64,32}
--with-long-double={32|64|32,64|64,32|double}
For a documentation, see
https://gcc.gnu.org/install/configure.html#avr
Only 14 of the 20 combinations are valid, resulting in 12 different
configurations total. Depending on the configuration, there will be up to 57
= 3*19 multilib variants.
The new compiler options are:
-mdouble={32|64}
-mlong-double={32|64}
For a documentation, see
https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html#index-mdouble
To display the mapping between option sets and multilib variants, use
avr-gcc -print-multi-lib
To show which multilib variant is actually picked for a specific set of
options, use
avr-gcc -print-multi-directory <options>
To factor out different floating-point layouts in a target program, you can
use -- like always -- the built-in defines
__SIZEOF_DOUBLE__
__SIZEOF_LONG_DOUBLE__
The libgcc build just copies the double64 and long-double64 multilib variants
from the vanilla one so that the build times won't go through the roof --
these variants would not contain any differences to the vanilla version,
anyway.
There is also the (undocumented, avr) configure option --with-fixed-point=no
which skips the build of the thousands of libgcc fixed-point modules. You can
use this during development for sane build times.
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/bugs/?57071>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/