i386: Fix strncmp last arguments in x86_64_elf_section_type_flags
authorJakub Jelinek <jakub@redhat.com>
Mon, 10 Feb 2020 14:02:39 +0000 (15:02 +0100)
committerJakub Jelinek <jakub@redhat.com>
Mon, 10 Feb 2020 14:02:39 +0000 (15:02 +0100)
Clearly I can't count, so we would consider as SECTION_BSS even sections
like .lbssfoo or .gnu.linkonce.lbbar, even when linker only considers as
special .lbss or .lbss.baz or .gnu.linkonce.lb.qux.

2020-02-10  Jakub Jelinek  <jakub@redhat.com>

PR target/58218
PR other/93641
* config/i386/i386.c (x86_64_elf_section_type_flags): Fix up last
arguments of strncmp.

gcc/ChangeLog
gcc/config/i386/i386.c

index fa3cbb895e999736e07116ee34e6749e2831ca21..b1c3f1199650408399474ace623110625c6f7262 100644 (file)
@@ -1,3 +1,10 @@
+2020-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/58218
+       PR other/93641
+       * config/i386/i386.c (x86_64_elf_section_type_flags): Fix up last
+       arguments of strncmp.
+
 2020-02-10  Feng Xue  <fxue@os.amperecomputing.com>
 
        PR ipa/93203
index 498cbb5a588d0b7ee21857c3622496212582fe84..44bc0e0176aa7a5d6b656381f311f35735665a40 100644 (file)
@@ -751,8 +751,9 @@ x86_64_elf_section_type_flags (tree decl, const char *name, int reloc)
     flags |= SECTION_RELRO;
 
   if (strcmp (name, ".lbss") == 0
-      || strncmp (name, ".lbss.", 5) == 0
-      || strncmp (name, ".gnu.linkonce.lb.", 16) == 0)
+      || strncmp (name, ".lbss.", sizeof (".lbss.") - 1) == 0
+      || strncmp (name, ".gnu.linkonce.lb.",
+                 sizeof (".gnu.linkonce.lb.") - 1) == 0)
     flags |= SECTION_BSS;
 
   return flags;