https://sourceware.org/bugzilla/show_bug.cgi?id=34557

--- Comment #1 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Georg-Johann Lay <[email protected]>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=24c9540565df85b1b51f25505d5f99bbbbd18132

commit 24c9540565df85b1b51f25505d5f99bbbbd18132
Author: Georg-Johann Lay <[email protected]>
Date:   Fri Aug 21 15:20:04 2026 +0200

    AVR: ld/34557 - Support .gnu_attribute to encode the size of [long] double.

    AVR GCC allows to chose the size of double and long double at
    compile time by means of -m[long-]double={32|64}.  As these
    options select a different ABI, Binutils should complain when
    an attempt is being made to link incompatible object files.

    This patch adds
       .gnu_attribute 8 (Tag_GNU_AVR_BITS_DOUBLE)
       .gnu_attribute 12 (Tag_GNU_AVR_BITS_LONG_DOUBLE)
    and some simple test cases.

    A tag value of 0 is compatible with all other tag values.
    Two non-zero tag values are compatible iff they are the same.

            PR ld/34557
    include/
            * elf/avr.h (Tag_GNU_AVR_BITS_DOUBLE = 8)
            (Tag_GNU_AVR_BITS_LONG_DOUBLE = 12): Define new enum values.
    bfd/
            * elf32-avr.c (avr_elf_merge_obj_attributes): Support
            Tag_GNU_AVR_BITS_DOUBLE, Tag_GNU_AVR_BITS_LONG_DOUBLE.
    binutils/
            * readelf.c (display_avr_gnu_attribute): Support
            Tag_GNU_AVR_BITS_DOUBLE, Tag_GNU_AVR_BITS_LONG_DOUBLE.
    gas/
            * doc/as.texi (AVR Attributes): Document
            Tag_GNU_AVR_BITS_DOUBLE, Tag_GNU_AVR_BITS_LONG_DOUBLE.
    ld/
            * NEWS: Mention the new avr .gnu_attribute's 8 and 12.
            * testsuite/ld-avr/attr-gnu-8-0.s: New file.
            * testsuite/ld-avr/attr-gnu-8-32.s: New file.
            * testsuite/ld-avr/attr-gnu-8-64.s: New file.
            * testsuite/ld-avr/attr-gnu-8-32.d: New test.
            * testsuite/ld-avr/attr-gnu-8-32_0.d: New test.
            * testsuite/ld-avr/attr-gnu-8-32_64.d: New test.
            * testsuite/ld-avr/attr-gnu-8_12.d: New test.
            * testsuite/ld-avr/attr-gnu-12-0.s: New file.
            * testsuite/ld-avr/attr-gnu-12-64.s: New file.
            * testsuite/ld-avr/attr-gnu-12-32.s: New file.
            * testsuite/ld-avr/attr-gnu-12-32.d: New test.
            * testsuite/ld-avr/attr-gnu-12-32_0.d: New test.
            * testsuite/ld-avr/attr-gnu-12-32_64.d: New test.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to