From fea56491c44623b23675b4440bf4037b855b5ce0 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 28 Jun 2016 12:54:59 +0200 Subject: [PATCH] Avoid array-bounds warning for strncat on i586 (bug 20260) --- ChangeLog | 7 +++++++ sysdeps/x86/bits/string.h | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3da2eca97e..10dfaa1c8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2016-06-29 Andreas Schwab + + [BZ #20260] + * sysdeps/x86/bits/string.h (__strncat_g) [!__i686__]: Compute the + address before the beginning of the string as an integer to avoid + array-bounds warning. + 2016-06-28 Richard Henderson * elf/elf.h (EM_BPF): New. diff --git a/sysdeps/x86/bits/string.h b/sysdeps/x86/bits/string.h index 8dfce052a6..805d33f0a2 100644 --- a/sysdeps/x86/bits/string.h +++ b/sysdeps/x86/bits/string.h @@ -1089,7 +1089,6 @@ __strncat_g (char *__dest, const char __src[], size_t __n) : "g" (__n), "0" (0), "1" (__tmp), "2" (__src), "3" (0xffffffff) : "memory", "cc"); # else - --__tmp; __asm__ __volatile__ ("1:\n\t" "cmpb $0,1(%1)\n\t" @@ -1108,7 +1107,7 @@ __strncat_g (char *__dest, const char __src[], size_t __n) "3:\n\t" "movb $0,(%1)" : "=&q" (__dummy), "=&r" (__tmp), "=&r" (__src), "=&r" (__n) - : "1" (__tmp), "2" (__src), "3" (__n) + : "1" ((unsigned long) __tmp - 1), "2" (__src), "3" (__n) : "memory", "cc"); #endif return __dest; -- 2.11.4.GIT