From 36a798fd192ced25eefaeee345507fa1a0c0356e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 10 Feb 2020 15:02:39 +0100 Subject: [PATCH] i386: Fix strncmp last arguments in x86_64_elf_section_type_flags 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 PR target/58218 PR other/93641 * config/i386/i386.c (x86_64_elf_section_type_flags): Fix up last arguments of strncmp. --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386.c | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa3cbb895e9..b1c3f119965 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2020-02-10 Jakub Jelinek + + 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 PR ipa/93203 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 498cbb5a588..44bc0e0176a 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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; -- 2.30.2