Thread (9 messages) 9 messages, 6 authors, 2020-06-19

Re: [PATCH v8 4/4] gpio: xilinx: Utilize for_each_set_clump macro

From: Andy Shevchenko <hidden>
Date: 2020-06-19 08:39:32
Also in: linux-gpio, lkml, oe-kbuild-all

On Fri, Jun 19, 2020 at 10:02 AM Syed Nayyar Waris [off-list ref] wrote:

...
quoted
config: sparc64-randconfig-s032-20200615 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-rc1-3-g55607964-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=sparc64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
...
quoted
sparse warnings: (new ones prefixed by >>)
quoted
quoted
include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
   include/linux/bitmap.h:594:63: sparse: sparse: shift too big (64) for type unsigned long
quoted
quoted
include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
include/linux/bitmap.h:638:17: sparse: sparse: invalid access past the end of 'old' (8 8)
It seems to me that to reproduce this warning, I have to use the
sparc64 compiler. I have installed 'sparc64-linux-gnu-gcc' on my
computer.
Sparse is not a compiler.
I have to specify that this compiler needs to be used for build
process. How/ Where do I specify this?

I have downloaded the config.gz (has config file) and placed it at the
root of the linux kernel project tree. But the Makefile STILL has
'gcc' as the compiler. When I build, it is the 'gcc' compiler being
used and not 'sparc64-linux-gnu-gcc'. I know I can manually change the
Makefile to use sparc64 compiler, but I think there must be some more
elegant way to do this, perhaps using make menuconfig?
If you wish to run a compilation, download a compiler from [1], and,
after adding its bin/ folder to PATH, run
make CROSS_COMPILE=sparc64-linux- ARCH=sparc64 ... # first generate .config
Kindly illuminate as to how shall I reproduce the compiler warning.
quoted
803024b6c8a375 Syed Nayyar Waris      2020-06-15 @638           map[index + 1] &= ~BITMAP_LAST_WORD_MASK(start + nbits);
803024b6c8a375 Syed Nayyar Waris      2020-06-15 @639           map[index + 1] |= (value >> space);
Hmm... I think I sent a reply [2] where I explained how space can be
64. Do you agree with analysis?

[1]: https://mirrors.edge.kernel.org/pub/tools/crosstool/
[2]: https://lore.kernel.org/lkml/20200616081428.GP2428291@smile.fi.intel.com/ (local)

-- 
With Best Regards,
Andy Shevchenko

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help