[PATCH v11 13/25] OAv2 merge: create a section for object attributes

Matthieu Longo matthieu.longo@arm.com
Fri Jan 16 18:35:11 GMT 2026


On 08/01/2026 13:57, Jan Beulich wrote:
> On 31.12.2025 00:05, Matthieu Longo wrote:
>> --- a/bfd/elf-attrs.c
>> +++ b/bfd/elf-attrs.c
>> @@ -802,10 +802,35 @@ static asection *
>>   create_object_attributes_section (struct bfd_link_info *info,
>>   				  bfd *abfd)
>>   {
>> -  (void) info;
>> -  (void) abfd;
>> -  /* TO IMPLEMENT */
>> -  return NULL;
>> +  asection *sec;
>> +  const char *sec_name = get_elf_backend_data (abfd)->obj_attrs_section;
>> +  sec = bfd_make_section_with_flags (abfd,
>> +				     sec_name,
>> +				     (SEC_READONLY
>> +				      | SEC_HAS_CONTENTS
>> +				      | SEC_DATA));
>> +  if (sec == NULL)
>> +    info->callbacks->fatal (_("%P: failed to create %s section\n"), sec_name);
>> +
>> +  /* It is unclear why the format requires a different alignment for
>> +     32- vs 64-bit ELF.  This code was copy-pasted from
>> +     _bfd_elf_link_create_gnu_property_sec() in bfd/elf-properties.c.  The
>> +     original patch which introduced it, does not provide any reason and no
>> +     discussion during the patch review focussed on this part of the code.
>> +     https://inbox.sourceware.org/binutils/20210624132411.1993105-1-hjl.tools
>> +     @gmail.com/  */
>> +  unsigned align
>> +    = (get_elf_backend_data (info->output_bfd)->s->elfclass == ELFCLASS64
>> +       ? 3
>> +       : 2);
> 
> H.J., repeating my earlier question: Can you please shed some light on the
> situation? I would much prefer if the anomaly there wouldn't be duplicated
> here.
> 
> Matthieu, in the absence of a response from H.J., please use 2 uniformly and
> drop the comment.
> 
> Jan

Since I haven't received a response from H.J., I used 2 uniformly.
However, please note that I haven't changed _bfd_elf_link_create_gnu_property_sec() and _bfd_elf_convert_gnu_properties() since this is out of scope of this patch series.

Matthieu


More information about the Binutils mailing list