ARM CMSE symbols
[binutils-gdb.git] / bfd / elfxx-aarch64.c
index d16f2ecc1ff53f6667993162bcd2d69889ec2585..33af6c22e16b7534ed2fcc8e499fafd498d6835e 100644 (file)
@@ -695,6 +695,7 @@ _bfd_aarch64_elf_link_setup_gnu_properties (struct bfd_link_info *info,
   bfd *pbfd;
   bfd *ebfd = NULL;
   elf_property *prop;
+  unsigned align;
 
   uint32_t gnu_prop = *gprop;
 
@@ -721,7 +722,7 @@ _bfd_aarch64_elf_link_setup_gnu_properties (struct bfd_link_info *info,
                                    4);
       if (gnu_prop & GNU_PROPERTY_AARCH64_FEATURE_1_BTI
          && !(prop->u.number & GNU_PROPERTY_AARCH64_FEATURE_1_BTI))
-           _bfd_error_handler (_("%pB: warning: BTI turned on by --force-bti "
+           _bfd_error_handler (_("%pB: warning: BTI turned on by -force-bti "
                                  "when all inputs do not have BTI in NOTE "
                                  "section."), ebfd);
       prop->u.number |= gnu_prop;
@@ -743,6 +744,13 @@ _bfd_aarch64_elf_link_setup_gnu_properties (struct bfd_link_info *info,
            info->callbacks->einfo (
              _("%F%P: failed to create GNU property section\n"));
 
+          align = (bfd_get_mach (ebfd) & bfd_mach_aarch64_ilp32) ? 2 : 3;
+          if (!bfd_set_section_alignment (ebfd, sec, align))
+            {
+              info->callbacks->einfo (_("%F%pA: failed to align section\n"),
+                                      sec);
+            }
+
          elf_section_type (sec) = SHT_NOTE;
        }
     }