[PATCH v2] bfd/ELF: fix BFD library build --enable-shared
Matthieu Longo
matthieu.longo@arm.com
Mon Jan 26 10:03:18 GMT 2026
On 26/01/2026 08:24, Jan Beulich wrote:
> On 23.01.2026 17:19, Matthieu Longo wrote:
>> The patch series that added support for Object Attributes v2 introduced
>> regressions when building the BFD library as a shared object.
>>
>> Incorrect usages of ATTRIBUTE_HIDDEN caused the following link-time errors:
>>
>> /usr/bin/ld: config/obj-elf-attr.o: in function `obj_attr_v2_record':
>> obj-elf-attr.c: undefined reference to `bfd_elf_obj_attr_v2_init'
>> obj-elf-attr.c: undefined reference to `_bfd_obj_attr_v2_find_by_tag'
>> obj-elf-attr.c: undefined reference to `obj_attr_v2_t_append'
>> /usr/bin/ld: config/obj-elf-attr.o: in function `obj_attr_v2_subsection_record':
>> obj-elf-attr.c: undefined reference to `obj_attr_subsection_v2_t_append'
>> obj-elf-attr.c: undefined reference to `obj_attr_subsection_v2_t_remove'
>> obj-elf-attr.c: undefined reference to `obj_attr_subsection_v2_t_append'
>>
>> This patch fixes the symbols visibility so that the BFD library links
>> correctly when built with --enable-shared.
>> The ATTRIBUTE_HIDDEN annotations were removed from bfd_elf_obj_attr_v2_init
>> and _bfd_obj_attr_v2_find_by_tag, and the functions were renamed to reflect
>> the belonging to the public BFD API using the 'bfd_' prefix.
>
> Nit: Only one of the functions was actually renamed.
>
Fixed and merged.
>> The doubly linked
>> list helpers remain hidden and are instead exposed through wrapper functions.
>> ---
>> bfd/elf-attrs.c | 28 +++++++++++++++++++++++++++-
>> bfd/elf-bfd.h | 12 +++++++++---
>> bfd/elfnn-aarch64.c | 2 +-
>> bfd/elfxx-aarch64.c | 6 +++---
>> gas/config/obj-elf-attr.c | 10 +++++-----
>> 5 files changed, 45 insertions(+), 13 deletions(-)
>
> Okay.
>
> Jan
More information about the Binutils
mailing list