]> git.baikalelectronics.ru Git - kernel.git/commitdiff
xtensa: shut up gcc-8 warnings
authorArnd Bergmann <arnd@arndb.de>
Tue, 2 Jan 2018 11:00:22 +0000 (12:00 +0100)
committerMax Filippov <jcmvbkbc@gmail.com>
Tue, 2 Jan 2018 11:25:41 +0000 (03:25 -0800)
Many uses of strncpy() on xtensa causes  a warning like

arch/xtensa/include/asm/string.h:56:42: warning: array subscript is above array bounds [-Warray-bounds]
   : "0" (__dest), "1" (__src), "r" (__src+__n)

This avoids the warning by turning the pointer arithmetic into an
integer operation that does not get checked the same way.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/include/asm/string.h

index 586bad9fe18760c5d35ecb951d1fd52e39864dbe..89b51a0c752f4bea189afd349a73a6eb10e86de8 100644 (file)
@@ -53,7 +53,7 @@ static inline char *strncpy(char *__dest, const char *__src, size_t __n)
                "bne    %1, %5, 1b\n"
                "2:"
                : "=r" (__dest), "=r" (__src), "=&r" (__dummy)
-               : "0" (__dest), "1" (__src), "r" (__src+__n)
+               : "0" (__dest), "1" (__src), "r" ((uintptr_t)__src+__n)
                : "memory");
 
        return __xdest;
@@ -101,7 +101,7 @@ static inline int strncmp(const char *__cs, const char *__ct, size_t __n)
                "2:\n\t"
                "sub    %2, %2, %3"
                : "=r" (__cs), "=r" (__ct), "=&r" (__res), "=&r" (__dummy)
-               : "0" (__cs), "1" (__ct), "r" (__cs+__n));
+               : "0" (__cs), "1" (__ct), "r" ((uintptr_t)__cs+__n));
 
        return __res;
 }