Message ID | 20230811153825.2021109-1-bmahi496@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | [v2] string: Fix tester build with fortify enable with gcc < 12 | expand |
On 11/08/23 12:38, bmahi496--- via Libc-alpha wrote: > From: Mahesh Bodapati <bmahi496@linux.ibm.com> > > When building with fortify enabled, GCC < 12 issues a warning on the > fortify strncat wrapper might overflow the destination buffer (the > failure is tied to -Werror). > > Checked on ppc64 and x86_64. LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > --- > string/tester.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/string/tester.c b/string/tester.c > index f7d4bac5a8..824cf315ff 100644 > --- a/string/tester.c > +++ b/string/tester.c > @@ -34,6 +34,14 @@ > DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation"); > #endif > > +/* When building with fortify enabled, GCC < 12 issues a warning on the > + fortify strncat wrapper might overflow the destination buffer (the > + failure is tied to -Werror). > + Triggered by strncat fortify wrapper when it is enabled. */ > +#if __GNUC_PREREQ (11, 0) > +DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); > +#endif > + > #include <errno.h> > #include <stdint.h> > #include <stdio.h> > @@ -52,9 +60,6 @@ DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args"); > DIAG_IGNORE_NEEDS_COMMENT (9, "-Wrestrict"); > DIAG_IGNORE_NEEDS_COMMENT (7, "-Wstringop-overflow="); > #endif > -#if __GNUC_PREREQ (11, 0) > -DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); > -#endif > > > #define STREQ(a, b) (strcmp((a), (b)) == 0)
diff --git a/string/tester.c b/string/tester.c index f7d4bac5a8..824cf315ff 100644 --- a/string/tester.c +++ b/string/tester.c @@ -34,6 +34,14 @@ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation"); #endif +/* When building with fortify enabled, GCC < 12 issues a warning on the + fortify strncat wrapper might overflow the destination buffer (the + failure is tied to -Werror). + Triggered by strncat fortify wrapper when it is enabled. */ +#if __GNUC_PREREQ (11, 0) +DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); +#endif + #include <errno.h> #include <stdint.h> #include <stdio.h> @@ -52,9 +60,6 @@ DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args"); DIAG_IGNORE_NEEDS_COMMENT (9, "-Wrestrict"); DIAG_IGNORE_NEEDS_COMMENT (7, "-Wstringop-overflow="); #endif -#if __GNUC_PREREQ (11, 0) -DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); -#endif #define STREQ(a, b) (strcmp((a), (b)) == 0)
From: Mahesh Bodapati <bmahi496@linux.ibm.com> When building with fortify enabled, GCC < 12 issues a warning on the fortify strncat wrapper might overflow the destination buffer (the failure is tied to -Werror). Checked on ppc64 and x86_64. --- string/tester.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)