arch/mips/include/asm/mach-cavium-octeon/mangle-port.h:19:40: error: right shift count >= width of type

From: kbuild test robot
Date: Sun Sep 04 2016 - 01:20:38 EST


Hi Steven,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 28e68154c5e2793123b248d38cf17b34dcb16d87
commit: 1685ddbe35cd4637f7f841d5f9755dd0470bd68d MIPS: Octeon: Changes to support readq()/writeq() usage.
date: 8 weeks ago
config: mips-cavium_octeon_defconfig (attached as .config)
compiler: mips64-linux-gnuabi64-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 1685ddbe35cd4637f7f841d5f9755dd0470bd68d
# save the attached .config to linux build tree
make.cross ARCH=mips

All errors (new ones prefixed by >>):

In file included from arch/mips/include/asm/io.h:32:0,
from arch/mips/include/asm/page.h:176,
from arch/mips/vdso/vdso.h:26,
from arch/mips/vdso/gettimeofday.c:11:
arch/mips/include/asm/mach-cavium-octeon/mangle-port.h: In function '__should_swizzle_bits':
>> arch/mips/include/asm/mach-cavium-octeon/mangle-port.h:19:40: error: right shift count >= width of type [-Werror=shift-count-overflow]
unsigned long did = ((unsigned long)a >> 40) & 0xff;
^
cc1: all warnings being treated as errors

vim +19 arch/mips/include/asm/mach-cavium-octeon/mangle-port.h

13 #ifdef __BIG_ENDIAN
14
15 static inline bool __should_swizzle_bits(volatile void *a)
16 {
17 extern const bool octeon_should_swizzle_table[];
18
> 19 unsigned long did = ((unsigned long)a >> 40) & 0xff;
20 return octeon_should_swizzle_table[did];
21 }
22

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data