From ab0db3b8849a3d4e56e30d50bc019666532b1299 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Tue, 16 Jan 2024 09:44:30 +0100 Subject: Fix stringop-overflow warning in tst-strlcat2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On s390x, I get warnings like this when do_one_test is inlined with SIZE_MAX: In function ‘do_one_test’, inlined from ‘do_overflow_tests’ at tst-strlcat2.c:184:2: tst-strlcat2.c:49:18: error: ‘strnlen’ specified bound [18446744073709550866, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=] 49 | # define STRNLEN strnlen | ^ tst-strlcat2.c:89:23: note: in expansion of macro ‘STRNLEN’ 89 | size_t dst_length = STRNLEN (dst, n); | ^~~~~~~ This patch just marks the do_one_test function as noinline as also done in test-strncat.c: Fix stringop-overflow warning in test-strncat. https://sourceware.org/git/?p=glibc.git;a=commit;h=51aeab9a363a0d000d0912aa3d6490463a26fba2 --- string/tst-strlcat2.c | 1 + 1 file changed, 1 insertion(+) (limited to 'string') diff --git a/string/tst-strlcat2.c b/string/tst-strlcat2.c index 225520a46b..1ec26a2432 100644 --- a/string/tst-strlcat2.c +++ b/string/tst-strlcat2.c @@ -81,6 +81,7 @@ IMPL (STRLCAT, 1) typedef size_t (*proto_t) (CHAR *, const CHAR *, size_t); static void +__attribute__((noinline)) do_one_test (impl_t *impl, CHAR *dst, const CHAR *src, size_t n) { -- cgit 1.4.1