https://gcc.gnu.org/g:154b617860ab6ae8e44667782c7bb5dcdb29a7af
commit r17-4077-g154b617860ab6ae8e44667782c7bb5dcdb29a7af Author: Georg-Johann Lay <[email protected]> Date: Thu Sep 10 13:29:46 2026 +0200 AVR: ad target/127032 - Also tag libf7-asm.sx modules. This patch tags object files with the double / long double ABI .gnu_attribute 8 (Tag_GNU_AVR_BITS_DOUBLE) resp. .gnu_attribute 12 (Tag_GNU_AVR_BITS_LONG_DOUBLE). It follows the compiler in that it only tags units where the size of double / long double is actually used. PR target/127032 libgcc/config/avr/libf7/ * libf7-asm.sx (config.h): Include it. (DALIAS) [sizeof(double)==8 && HAVE_AS_AVR_GNU_ATTRIBUTE]: Add .gnu_attribute 8,64. (LALIAS) [sizeof(long double)==8 && HAVE_AS_AVR_GNU_ATTRIBUTE]: Add .gnu_attribute 12,64. Diff: --- libgcc/config/avr/libf7/libf7-asm.sx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libgcc/config/avr/libf7/libf7-asm.sx b/libgcc/config/avr/libf7/libf7-asm.sx index f96c2a73d58b..e8a62bc8a9a3 100644 --- a/libgcc/config/avr/libf7/libf7-asm.sx +++ b/libgcc/config/avr/libf7/libf7-asm.sx @@ -27,6 +27,7 @@ #include "asm-defs.h" #include "libf7.h" +#include "config.h" #define ZERO __zero_reg__ #define TMP __tmp_reg__ @@ -96,6 +97,9 @@ ;; Make a weak alias if double is 64 bits wide. .macro DALIAS sym #if defined (WITH_LIBF7_MATH_SYMBOLS) && __SIZEOF_DOUBLE__ == 8 +#if defined (HAVE_AS_AVR_GNU_ATTRIBUTE) + .gnu_attribute 8,64 +#endif ALIAS \sym #endif .endm @@ -103,6 +107,9 @@ ALIAS \sym ;; Make a weak alias if long double is 64 bits wide. .macro LALIAS sym #if defined (WITH_LIBF7_MATH_SYMBOLS) && __SIZEOF_LONG_DOUBLE__ == 8 +#if defined (HAVE_AS_AVR_GNU_ATTRIBUTE) + .gnu_attribute 12,64 +#endif ALIAS \sym #endif .endm
