clean-up create_obj_attrs_section: comment about .gnu.attributes VS .gnu.build.attributes

This commit is contained in:
Matthieu Longo
2025-01-27 14:55:02 +00:00
parent 011e50143f
commit 29b221fc12

View File

@@ -1918,27 +1918,27 @@ subsegs_finish (void)
}
#ifdef OBJ_ELF
static void
create_obj_attrs_section (void)
{
segT s;
char *p;
offsetT size;
const char *name;
size = bfd_elf_obj_attr_size (stdoutput);
offsetT size = bfd_elf_obj_attr_size (stdoutput);
if (size == 0)
return;
name = get_elf_backend_data (stdoutput)->obj_attrs_section;
if (!name)
const char *name = get_elf_backend_data (stdoutput)->obj_attrs_section;
if (name == NULL)
/* Note: .gnu.attributes is different from GNU_BUILD_ATTRS_SECTION_NAME
(a.k.a .gnu.build.attributes). The first one seems to be used by some
backends like PowerPC to store the build attributes. The second one is
used to store build notes. */
name = ".gnu.attributes";
s = subseg_new (name, 0);
segT s = subseg_new (name, 0);
elf_section_type (s)
= get_elf_backend_data (stdoutput)->obj_attrs_section_type;
bfd_set_section_flags (s, SEC_READONLY | SEC_DATA);
frag_now_fix ();
p = frag_more (size);
char *p = frag_more (size);
bfd_elf_set_obj_attr_contents (stdoutput, (bfd_byte *)p, size);
subsegs_finish_section (s);