From: Stefan Liebler Date: Tue, 28 Feb 2023 12:48:34 +0000 (+0100) Subject: Fix stringop-overflow warning in test-strncat. X-Git-Tag: glibc-2.38~508 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=51aeab9a363a0d000d0912aa3d6490463a26fba2;p=thirdparty%2Fglibc.git Fix stringop-overflow warning in test-strncat. Starting with commit b2c474f8de4c92bfe7435853a96805ec32d68dfa "x86: Fix strncat-avx2.S reading past length [BZ #30065]" Building on s390 the test fails due warnings like: In function ‘do_one_test’, inlined from ‘do_overflow_tests’ at test-strncat.c:175:7: test-strncat.c:31:18: error: ‘strnlen’ specified bound [4294966546, 4294967295] exceeds maximum object size 2147483647 [-Werror=stringop-overflow=] 31 | # define STRNLEN strnlen | ^ test-strncat.c:83:16: note: in expansion of macro ‘STRNLEN’ 83 | size_t len = STRNLEN (src, n); | ^~~~~~~ In all werror cases, the call to strnlen (.., SIZE_MAX) is inlined. Therefore this patch just marks the do_one_test function as noinline. Reviewed-by: Wilco Dijkstra --- diff --git a/string/test-strncat.c b/string/test-strncat.c index c0cde206eec..e71724df5b0 100644 --- a/string/test-strncat.c +++ b/string/test-strncat.c @@ -69,6 +69,7 @@ SIMPLE_STRNCAT (CHAR *dst, const CHAR *src, size_t n) } static void +__attribute__((noinline)) do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t n) { size_t k = STRLEN (dst);