[PATCH v12 00/25] AArch64 AEABI build attributes (a.k.a. object attributes v2)

Matthieu Longo matthieu.longo@arm.com
Thu Jan 22 19:07:44 GMT 2026


On 22/01/2026 15:22, Jan Beulich wrote:
> On 22.01.2026 16:19, Jan Beulich wrote:
>> On 16.01.2026 19:59, Matthieu Longo wrote:
>>> Matthieu Longo (20):
>>>    bfd: move elf_new_obj_attr to the BFD public API
>>>    gas: use common code for object attribute v1 & v2 parsing
>>>    bfd: parse Object Attributes v2's section in input object files
>>>    bfd: add support for copying Object Attributes v2
>>>    objcopy tests for Object Attributes v2
>>>    OAv2 merge: plumbing of generic merge logic during linkage
>>>    OAv2 merge: find first input containing an object attributes section
>>>    OAv2 merge: create a section for object attributes
>>>    OAv2 merge: merge subsections and tags at file scope
>>>    OAv2 merge: mark unknown subsections
>>>    OAv2 merge: merging Object Attributes
>>>    OAv2 merge: prune unsupported or invalid subsections and attributes
>>>    OAv2 merge: translate GNU properties to Object Attributes v2 (and vice versa)
>>>    ld tests for generic merge coverage of Object Attributes v2
>>>    aarch64: merge of Object Attributes v2 during linkage
>>>    ld tests for AArch64-specific merge coverage for AEABI Build Attributes
>>>    gnu directives: add support for .gnu_attribute and .gnu_subsection in OAv2 context
>>>    gnu directives: gas/readelf tests for gnu attributes v2
>>>    gnu directives: bfd: generic tests for objcopy of gnu attributes v2
>>>    gnu directives: bfd: generic tests for merge of gnu attributes v2
>>>
>>> Richard Ball (5):
>>>    Object Attributes v2: new abstractions for subsections and attributes
>>>    gas: implement parsing of object attributes v2
>>>    bfd: write Object Attributes v2
>>>    readelf: dump Object Attributes v2
>>>    Serialization and dumping tests of Object Attributes v2
>>
>> Looks like there's yet more fallout, this time on an Arm64 build host (afaict):
>>
>> /usr/bin/ld: config/obj-elf-attr.o: in function `obj_attr_v2_record':
>> /home/builder/worker/binutils-fedora-arm64/binutils-build/gas/../../binutils-gdb/gas/config/obj-elf-attr.c:1058:(.text+0x1020): undefined reference to `bfd_elf_obj_attr_v2_init'
>> /usr/bin/ld: /home/builder/worker/binutils-fedora-arm64/binutils-build/gas/../../binutils-gdb/gas/config/obj-elf-attr.c:1064:(.text+0x1040): undefined reference to `_bfd_obj_attr_v2_find_by_tag'
>> /usr/bin/ld: /home/builder/worker/binutils-fedora-arm64/binutils-build/gas/../../binutils-gdb/gas/config/obj-elf-attr.c:1084:(.text+0x1104): undefined reference to `obj_attr_v2_t_append'
>> /usr/bin/ld: config/obj-elf-attr.o: in function `obj_attr_v2_subsection_record':
>> /home/builder/worker/binutils-fedora-arm64/binutils-build/gas/../../binutils-gdb/gas/config/obj-elf-attr.c:1158:(.text+0x137c): undefined reference to `obj_attr_subsection_v2_t_append'
>> /usr/bin/ld: /home/builder/worker/binutils-fedora-arm64/binutils-build/gas/../../binutils-gdb/gas/config/obj-elf-attr.c:1133:(.text+0x13e8): undefined reference to `obj_attr_subsection_v2_t_remove'
>> /usr/bin/ld: /home/builder/worker/binutils-fedora-arm64/binutils-build/gas/../../binutils-gdb/gas/config/obj-elf-attr.c:1135:(.text+0x13fc): undefined reference to `obj_attr_subsection_v2_t_append'
>> collect2: error: ld returned 1 exit status
>> make[3]: *** [Makefile:1305: as-new] Error 1
> 
> Actually, looking a little more closely, from their names these all look like
> functions that weren't intended for use outside of libbfd. So likely we're
> seeing the results of an --enable-shared build above.
> 
> Jan

Proposed fix here:
https://inbox.sourceware.org/binutils/20260122190437.3732734-1-matthieu.longo@arm.com/

Matthieu


More information about the Binutils mailing list