[PATCH v11 02/25] Object Attributes v2: new abstractions for subsections and attributes
Matthieu Longo
matthieu.longo@arm.com
Thu Jan 15 17:27:02 GMT 2026
On 14/01/2026 18:02, Matthieu Longo wrote:
> On 08/01/2026 11:28, Jan Beulich wrote:
>> On 31.12.2025 00:05, Matthieu Longo wrote:
>>> @@ -3157,6 +3182,39 @@ extern Elf_Internal_Shdr *_bfd_elf_single_rel_hdr
>>> extern bool _bfd_elf_read_notes
>>> (bfd *, file_ptr, bfd_size_type, size_t) ATTRIBUTE_HIDDEN;
>>> +extern obj_attr_v2_t *bfd_elf_obj_attr_v2_init (obj_attr_tag_t,
>>> + union obj_attr_value_v2) ATTRIBUTE_HIDDEN;
>>> +extern void _bfd_elf_obj_attr_v2_free (obj_attr_v2_t *, obj_attr_encoding_v2_t)
>>> + ATTRIBUTE_HIDDEN;
>>> +extern obj_attr_v2_t *_bfd_elf_obj_attr_v2_copy (const obj_attr_v2_t *,
>>> + obj_attr_encoding_v2_t) ATTRIBUTE_HIDDEN;
>>> +extern int _bfd_elf_obj_attr_v2_cmp (const obj_attr_v2_t *,
>>> + const obj_attr_v2_t *) ATTRIBUTE_HIDDEN;
>>> +extern obj_attr_v2_t *
>>> +obj_attr_v2_find_by_tag (const obj_attr_subsection_v2_t *, obj_attr_tag_t,
>>> + bool) ATTRIBUTE_HIDDEN;
>>> +LINKED_LIST_MUTATIVE_OPS_PROTOTYPE(obj_attr_subsection_v2_t,
>>> + obj_attr_v2_t, extern);
>>> +LINKED_LIST_MERGE_SORT_PROTOTYPE_(obj_attr_v2_t, extern);
>>> +LINKED_LIST_MERGE_SORT_PROTOTYPE(obj_attr_subsection_v2_t,
>>> + obj_attr_v2_t, extern);
>>
>> Actually aren't the functions resulting from these and ...
>>
>>> +extern obj_attr_subsection_v2_t *bfd_elf_obj_attr_subsection_v2_init
>>> + (const char*, obj_attr_subsection_scope_v2_t, bool, obj_attr_encoding_v2_t);
>>> +extern void _bfd_elf_obj_attr_subsection_v2_free (obj_attr_subsection_v2_t *)
>>> + ATTRIBUTE_HIDDEN;
>>> +extern obj_attr_subsection_v2_t *_bfd_elf_obj_attr_subsection_v2_copy
>>> + (const obj_attr_subsection_v2_t *) ATTRIBUTE_HIDDEN;
>>> +extern int _bfd_elf_obj_attr_subsection_v2_cmp
>>> + (const obj_attr_subsection_v2_t *, const obj_attr_subsection_v2_t *)
>>> + ATTRIBUTE_HIDDEN;
>>> +extern obj_attr_subsection_v2_t * obj_attr_subsection_v2_find_by_name
>>> + (obj_attr_subsection_v2_t *, const char *, bool);
>>> +LINKED_LIST_MUTATIVE_OPS_PROTOTYPE(obj_attr_subsection_list_t,
>>> + obj_attr_subsection_v2_t, extern);
>>> +LINKED_LIST_MERGE_SORT_PROTOTYPE_(obj_attr_subsection_v2_t, extern);
>>> +LINKED_LIST_MERGE_SORT_PROTOTYPE(obj_attr_subsection_list_t,
>>> + obj_attr_subsection_v2_t, extern);
>>
>> ... these also libbfd-internal? They'd want to be hidden as well then, to
>> avoid counteracting my effort to remove internal functions from the dynamic
>> symbol table. As it looks, simply amending the "extern" by ATTRIBUTE_HIDDEN
>> will do.
>>
>
> I submitted a fix to add this attribute.
> Please have a look it to check if it corresponds to what you want.
>
> https://inbox.sourceware.org/gcc-patches/20260114174908.3440753-1-matthieu.longo@arm.com/T/#u
>
>> Also note that there's a style issue here and for the corresponding _DECL():
>> There's a blank missing ahead of the opening parentheses. (This actually
>> extends to doubly-linked-list.h itself as well.)
>
> Fixed.
>
>>
>> Okay with all respective issues sorted.
>>
>> Jan
>
> Matthieu
>
Update: fixed without using the previously mentioned patch.
Matthieu
More information about the Binutils
mailing list