Fix stringop-overflow warning in test-strncat.

Starting with commit
b2c474f8de
"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  <Wilco.Dijkstra@arm.com>
This commit is contained in:
Stefan Liebler 2023-02-28 13:48:34 +01:00
parent 1e0c8356f5
commit 51aeab9a36

View File

@ -69,6 +69,7 @@ SIMPLE_STRNCAT (CHAR *dst, const CHAR *src, size_t n)
} }
static void static void
__attribute__((noinline))
do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t n) do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t n)
{ {
size_t k = STRLEN (dst); size_t k = STRLEN (dst);