Hi!

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.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
committed to trunk as obvious.

2020-02-10  Jakub Jelinek  <ja...@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/config/i386/i386.c.jj   2020-02-07 19:11:57.378982855 +0100
+++ gcc/config/i386/i386.c      2020-02-10 09:24:18.247860282 +0100
@@ -751,8 +751,9 @@ x86_64_elf_section_type_flags (tree decl
     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;

        Jakub

Reply via email to