Subject: linux-next: build failure after merge of the bitmap tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 19 Apr 2022 14:29:27 +1000

Hi all,

After merging the bitmap tree, today's linux-next build (native powerpcle
perf) failed like this:

../lib/bitmap.c:21:5: error: conflicting types for '__bitmap_weight_cmp'; have 'int(const long unsigned int *, unsigned int,  int)'
   21 | int __bitmap_weight_cmp(const unsigned long *bitmap, unsigned int bits, int num)
      |     ^~~~~~~~~~~~~~~~~~~
In file included from ../lib/bitmap.c:6:
tools/include/linux/bitmap.h:15:5: note: previous declaration of '__bitmap_weight_cmp' with type 'int(const long unsigned int *, unsigned int,  unsigned int)'
   15 | int __bitmap_weight_cmp(const unsigned long *bitmap, unsigned int bits,
      |     ^~~~~~~~~~~~~~~~~~~
../lib/bitmap.c: In function '__bitmap_weight_cmp':
../lib/bitmap.c:26:50: error: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Werror=sign-compare]
   26 |                 if (w + bits - k * BITS_PER_LONG < num)
      |                                                  ^
../lib/bitmap.c:31:23: error: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Werror=sign-compare]
   31 |                 if (w > num)
      |                       ^
cc1: all warnings being treated as errors
tools/perf/../lib/bitmap.c:21:5: error: conflicting types for '__bitmap_weight_cmp'; have 'int(const long unsigned int *, unsigned int,  int)'
   21 | int __bitmap_weight_cmp(const unsigned long *bitmap, unsigned int bits, int num)
      |     ^~~~~~~~~~~~~~~~~~~
In file included from tools/perf/../lib/bitmap.c:6:
tools/include/linux/bitmap.h:15:5: note: previous declaration of '__bitmap_weight_cmp' with type 'int(const long unsigned int *, unsigned int,  unsigned int)'
   15 | int __bitmap_weight_cmp(const unsigned long *bitmap, unsigned int bits,
      |     ^~~~~~~~~~~~~~~~~~~
tools/perf/../lib/bitmap.c: In function '__bitmap_weight_cmp':
tools/perf/../lib/bitmap.c:26:50: error: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Werror=sign-compare]
   26 |                 if (w + bits - k * BITS_PER_LONG < num)
      |                                                  ^
tools/perf/../lib/bitmap.c:31:23: error: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Werror=sign-compare]
   31 |                 if (w > num)
      |                       ^
cc1: all warnings being treated as errors

Caused by commit

  bf04367e90b2 ("tools: bitmap: sync bitmap_weight")

I have dropped the bitmap tree for today.

-- 
Cheers,
Stephen Rothwell