
On 02/17/2018 11:30 PM, Tom Rini wrote:
With modern GCC, we get warnings such as: cmd/jffs2.c: In function 'mtdparts_init': arch/sh/include/asm/string.h:110:38: warning: array subscript is above array bounds [-Warray-bounds] : "0" (__cs), "1" (__ct), "r" (__cs+__n) ~~~~^~~~
This results in a small size reduction as well.
Cc: Nobuhiro Iwamatsu iwamatsu@nigauri.org Signed-off-by: Tom Rini trini@konsulko.com
arch/sh/include/asm/string.h | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-)
diff --git a/arch/sh/include/asm/string.h b/arch/sh/include/asm/string.h index 27d981b79af8..999febcb6b7d 100644 --- a/arch/sh/include/asm/string.h +++ b/arch/sh/include/asm/string.h @@ -81,37 +81,8 @@ static inline int strcmp(const char *__cs, const char *__ct) return __res; }
-#define __HAVE_ARCH_STRNCMP -static inline int strncmp(const char *__cs, const char *__ct, size_t __n) -{
- register int __res;
- unsigned long __dummy;
- if (__n == 0)
return 0;
- __asm__ __volatile__(
"mov.b @%1+, %3\n"
"1:\n\t"
"mov.b @%0+, %2\n\t"
"cmp/eq %6, %0\n\t"
"bt/s 2f\n\t"
" cmp/eq #0, %3\n\t"
"bt/s 3f\n\t"
" cmp/eq %3, %2\n\t"
"bt/s 1b\n\t"
" mov.b @%1+, %3\n\t"
"add #-2, %1\n\t"
"mov.b @%1, %3\n"
"2:\n\t"
"sub %3, %2\n"
"3:"
:"=r" (__cs), "=r" (__ct), "=&r" (__res), "=&z" (__dummy)
: "0" (__cs), "1" (__ct), "r" (__cs+__n)
: "t");
- return __res;
-} +#undef __HAVE_ARCH_STRNCMP +extern int strncmp(const char *__cs, const char *__ct, size_t __n);
#undef __HAVE_ARCH_MEMSET extern void *memset(void *__s, int __c, size_t __count);
Applied, thanks