]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
clean-up create_obj_attrs_section: comment about .gnu.attributes VS .gnu.build.attributes
authorMatthieu Longo <matthieu.longo@arm.com>
Mon, 27 Jan 2025 14:55:02 +0000 (14:55 +0000)
committerMatthieu Longo <matthieu.longo@arm.com>
Tue, 4 Mar 2025 11:02:03 +0000 (11:02 +0000)
gas/write.c

index 325c4402061239d79ef703c55076bc2869d75dca..c725841d50560ac75ec72e49adf8f17f42cbc837 100644 (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);