OAv2 merge: create a section for object attributes
bfd copies object attributes to the output BFD only if the input BFD —
used to store the merge result— contains an object attribute section.
bfd_linear_find_first_with_obj_attrs() returns an input BFD that may or
may not already include such a section. If no object attributes section
is found, the merge process must create one.
This patch implements create_object_attributes_section(), which constructs
the missing section with the appropriate flags, type, and alignment. The
implementation is adapted from _bfd_elf_link_create_gnu_property_sec() in
bfd/elf-properties.c. The code preserves the different alignment
requirements for 32-bit and 64-bit ELF formats, although the rationale for
this distinction remains unclear in the original source and patch history.
1 file changed