tree:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
linux-4.19.y
head: 3a10b2060ca30843d9251b80a2e1ca71e68035bd
commit: f66a52d991de7ca6c6dc7db768b50e6a28916d1f [4058/6859] kbuild: clang: choose
GCC_TOOLCHAIN_DIR not on LD
config: mips-randconfig-r022-20210219 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-4.19.y
git checkout f66a52d991de7ca6c6dc7db768b50e6a28916d1f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from lib/mpi/generic_mpih-mul1.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:9:
In file included from include/linux/list.h:9:
In file included from include/linux/kernel.h:11:
In file included from include/linux/bitops.h:19:
In file included from arch/mips/include/asm/bitops.h:19:
In file included from arch/mips/include/uapi/asm/byteorder.h:15:
In file included from include/linux/byteorder/little_endian.h:11:
include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from lib/mpi/generic_mpih-mul1.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:51:
In file included from include/linux/preempt.h:81:
In file included from ./arch/mips/include/generated/asm/preempt.h:1:
In file included from include/asm-generic/preempt.h:5:
include/linux/thread_info.h:141:29: warning: comparison of integers of different signs:
'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from lib/mpi/generic_mpih-mul1.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:88:
In file included from arch/mips/include/asm/spinlock.h:13:
In file included from ./arch/mips/include/generated/asm/qrwlock.h:1:
include/asm-generic/qrwlock.h:75:36: warning: comparison of integers of different
signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
cnts, cnts | _QW_LOCKED) == cnts);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/generic_mpih-mul1.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:13:
In file included from include/linux/kmod.h:22:
In file included from include/linux/umh.h:4:
In file included from include/linux/gfp.h:6:
include/linux/mmzone.h:984:44: warning: comparison of integers of different signs:
'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/generic_mpih-mul1.c:29:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:26:
In file included from include/linux/page_ref.h:7:
include/linux/page-flags.h:162:21: warning: comparison of integers of different signs:
'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
In file included from lib/mpi/generic_mpih-mul1.c:29:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:1154:
include/linux/vmstat.h:221:2: warning: comparison of integers of different signs:
'int' and 'unsigned int' [-Wsign-compare]
for_each_online_cpu(cpu)
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:778:36: note: expanded from macro
'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:243:9: note: expanded from macro 'for_each_cpu'
(cpu) < nr_cpu_ids;)
~~~ ^ ~~~~~~~~~~
> lib/mpi/generic_mpih-mul1.c:50:24: error: invalid use of a cast
in a inline asm context requiring an lvalue: remove the cast or build with
-fheinous-gnu-extensions
umul_ppmm(prod_high, prod_low,
s1_ptr[j], s2_limb);
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:652:20: note: expanded from macro 'umul_ppmm'
: "=l" ((USItype)(w0)), \
~~~~~~~~~~^~~
> lib/mpi/generic_mpih-mul1.c:50:3: error: invalid output
constraint '=h' in asm
umul_ppmm(prod_high, prod_low,
s1_ptr[j], s2_limb);
^
lib/mpi/longlong.h:653:7: note: expanded from macro 'umul_ppmm'
"=h" ((USItype)(w1)) \
^
7 warnings and 2 errors generated.
--
In file included from lib/mpi/generic_mpih-mul2.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:9:
In file included from include/linux/list.h:9:
In file included from include/linux/kernel.h:11:
In file included from include/linux/bitops.h:19:
In file included from arch/mips/include/asm/bitops.h:19:
In file included from arch/mips/include/uapi/asm/byteorder.h:15:
In file included from include/linux/byteorder/little_endian.h:11:
include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from lib/mpi/generic_mpih-mul2.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:51:
In file included from include/linux/preempt.h:81:
In file included from ./arch/mips/include/generated/asm/preempt.h:1:
In file included from include/asm-generic/preempt.h:5:
include/linux/thread_info.h:141:29: warning: comparison of integers of different signs:
'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from lib/mpi/generic_mpih-mul2.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:88:
In file included from arch/mips/include/asm/spinlock.h:13:
In file included from ./arch/mips/include/generated/asm/qrwlock.h:1:
include/asm-generic/qrwlock.h:75:36: warning: comparison of integers of different
signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
cnts, cnts | _QW_LOCKED) == cnts);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/generic_mpih-mul2.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:13:
In file included from include/linux/kmod.h:22:
In file included from include/linux/umh.h:4:
In file included from include/linux/gfp.h:6:
include/linux/mmzone.h:984:44: warning: comparison of integers of different signs:
'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/generic_mpih-mul2.c:29:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:26:
In file included from include/linux/page_ref.h:7:
include/linux/page-flags.h:162:21: warning: comparison of integers of different signs:
'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
In file included from lib/mpi/generic_mpih-mul2.c:29:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:1154:
include/linux/vmstat.h:221:2: warning: comparison of integers of different signs:
'int' and 'unsigned int' [-Wsign-compare]
for_each_online_cpu(cpu)
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:778:36: note: expanded from macro
'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:243:9: note: expanded from macro 'for_each_cpu'
(cpu) < nr_cpu_ids;)
~~~ ^ ~~~~~~~~~~
> lib/mpi/generic_mpih-mul2.c:49:24: error: invalid use of a cast
in a inline asm context requiring an lvalue: remove the cast or build with
-fheinous-gnu-extensions
umul_ppmm(prod_high, prod_low,
s1_ptr[j], s2_limb);
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:652:20: note: expanded from macro 'umul_ppmm'
: "=l" ((USItype)(w0)), \
~~~~~~~~~~^~~
> lib/mpi/generic_mpih-mul2.c:49:3: error: invalid output
constraint '=h' in asm
umul_ppmm(prod_high, prod_low,
s1_ptr[j], s2_limb);
^
lib/mpi/longlong.h:653:7: note: expanded from macro 'umul_ppmm'
"=h" ((USItype)(w1)) \
^
7 warnings and 2 errors generated.
--
In file included from lib/mpi/generic_mpih-mul3.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:9:
In file included from include/linux/list.h:9:
In file included from include/linux/kernel.h:11:
In file included from include/linux/bitops.h:19:
In file included from arch/mips/include/asm/bitops.h:19:
In file included from arch/mips/include/uapi/asm/byteorder.h:15:
In file included from include/linux/byteorder/little_endian.h:11:
include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from lib/mpi/generic_mpih-mul3.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:51:
In file included from include/linux/preempt.h:81:
In file included from ./arch/mips/include/generated/asm/preempt.h:1:
In file included from include/asm-generic/preempt.h:5:
include/linux/thread_info.h:141:29: warning: comparison of integers of different signs:
'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from lib/mpi/generic_mpih-mul3.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:88:
In file included from arch/mips/include/asm/spinlock.h:13:
In file included from ./arch/mips/include/generated/asm/qrwlock.h:1:
include/asm-generic/qrwlock.h:75:36: warning: comparison of integers of different
signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
cnts, cnts | _QW_LOCKED) == cnts);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/generic_mpih-mul3.c:29:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:13:
In file included from include/linux/kmod.h:22:
In file included from include/linux/umh.h:4:
In file included from include/linux/gfp.h:6:
include/linux/mmzone.h:984:44: warning: comparison of integers of different signs:
'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/generic_mpih-mul3.c:29:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:26:
In file included from include/linux/page_ref.h:7:
include/linux/page-flags.h:162:21: warning: comparison of integers of different signs:
'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
In file included from lib/mpi/generic_mpih-mul3.c:29:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:1154:
include/linux/vmstat.h:221:2: warning: comparison of integers of different signs:
'int' and 'unsigned int' [-Wsign-compare]
for_each_online_cpu(cpu)
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:778:36: note: expanded from macro
'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:243:9: note: expanded from macro 'for_each_cpu'
(cpu) < nr_cpu_ids;)
~~~ ^ ~~~~~~~~~~
> lib/mpi/generic_mpih-mul3.c:49:24: error: invalid use of a cast
in a inline asm context requiring an lvalue: remove the cast or build with
-fheinous-gnu-extensions
umul_ppmm(prod_high, prod_low,
s1_ptr[j], s2_limb);
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:652:20: note: expanded from macro 'umul_ppmm'
: "=l" ((USItype)(w0)), \
~~~~~~~~~~^~~
> lib/mpi/generic_mpih-mul3.c:49:3: error: invalid output
constraint '=h' in asm
umul_ppmm(prod_high, prod_low,
s1_ptr[j], s2_limb);
^
lib/mpi/longlong.h:653:7: note: expanded from macro 'umul_ppmm'
"=h" ((USItype)(w1)) \
^
7 warnings and 2 errors generated.
--
In file included from lib/mpi/mpih-div.c:30:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:9:
In file included from include/linux/list.h:9:
In file included from include/linux/kernel.h:11:
In file included from include/linux/bitops.h:19:
In file included from arch/mips/include/asm/bitops.h:19:
In file included from arch/mips/include/uapi/asm/byteorder.h:15:
In file included from include/linux/byteorder/little_endian.h:11:
include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different
signs: 'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from lib/mpi/mpih-div.c:30:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:51:
In file included from include/linux/preempt.h:81:
In file included from ./arch/mips/include/generated/asm/preempt.h:1:
In file included from include/asm-generic/preempt.h:5:
include/linux/thread_info.h:141:29: warning: comparison of integers of different signs:
'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from lib/mpi/mpih-div.c:30:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:10:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/seqlock.h:36:
In file included from include/linux/spinlock.h:88:
In file included from arch/mips/include/asm/spinlock.h:13:
In file included from ./arch/mips/include/generated/asm/qrwlock.h:1:
include/asm-generic/qrwlock.h:75:36: warning: comparison of integers of different
signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
cnts, cnts | _QW_LOCKED) == cnts);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/mpih-div.c:30:
In file included from lib/mpi/mpi-internal.h:33:
In file included from include/linux/module.h:13:
In file included from include/linux/kmod.h:22:
In file included from include/linux/umh.h:4:
In file included from include/linux/gfp.h:6:
include/linux/mmzone.h:984:44: warning: comparison of integers of different signs:
'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from lib/mpi/mpih-div.c:30:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:26:
In file included from include/linux/page_ref.h:7:
include/linux/page-flags.h:162:21: warning: comparison of integers of different signs:
'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
In file included from lib/mpi/mpih-div.c:30:
In file included from lib/mpi/mpi-internal.h:37:
In file included from include/linux/mpi.h:34:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:1154:
include/linux/vmstat.h:221:2: warning: comparison of integers of different signs:
'int' and 'unsigned int' [-Wsign-compare]
for_each_online_cpu(cpu)
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:778:36: note: expanded from macro
'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cpumask.h:243:9: note: expanded from macro 'for_each_cpu'
(cpu) < nr_cpu_ids;)
~~~ ^ ~~~~~~~~~~
> lib/mpi/mpih-div.c:142:20: error: invalid use of a cast in a
inline asm context requiring an lvalue: remove the cast or build with
-fheinous-gnu-extensions
umul_ppmm(n1,
n0, d0, q);
~~~~~~~~~~~~~~^~~~~~~~~~
lib/mpi/longlong.h:652:20: note: expanded from macro 'umul_ppmm'
: "=l" ((USItype)(w0)), \
~~~~~~~~~~^~~
> lib/mpi/mpih-div.c:142:6: error: invalid output constraint
'=h' in asm
umul_ppmm(n1, n0, d0,
q);
^
lib/mpi/longlong.h:653:7: note: expanded from macro 'umul_ppmm'
"=h" ((USItype)(w1)) \
^
lib/mpi/mpih-div.c:205:20: error: invalid use of a cast in a inline asm context
requiring an lvalue: remove the cast or build with -fheinous-gnu-extensions
umul_ppmm(n1, n0, d1, q);
~~~~~~~~~~~~~~^~~~~~~~~~
lib/mpi/longlong.h:652:20: note: expanded from macro 'umul_ppmm'
: "=l" ((USItype)(w0)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:205:6: error: invalid output constraint '=h' in asm
umul_ppmm(n1, n0, d1, q);
^
lib/mpi/longlong.h:653:7: note: expanded from macro 'umul_ppmm'
"=h" ((USItype)(w1)) \
^
7 warnings and 4 errors generated.
vim +50 lib/mpi/generic_mpih-mul1.c
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 31
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 32 mpi_limb_t
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 33 mpihelp_mul_1(mpi_ptr_t res_ptr, mpi_ptr_t
s1_ptr, mpi_size_t s1_size,
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 34 mpi_limb_t s2_limb)
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 35 {
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 36 mpi_limb_t cy_limb;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 37 mpi_size_t j;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 38 mpi_limb_t prod_high, prod_low;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 39
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 40 /* The loop counter and index J goes from
-S1_SIZE to -1. This way
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 41 * the loop becomes faster. */
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 42 j = -s1_size;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 43
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 44 /* Offset the base pointers to compensate
for the negative indices. */
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 45 s1_ptr -= j;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 46 res_ptr -= j;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 47
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 48 cy_limb = 0;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 49 do {
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 @50 umul_ppmm(prod_high, prod_low, s1_ptr[j],
s2_limb);
:::::: The code at line 50 was first introduced by commit
:::::: cdec9cb5167ab1113ba9c58e395f664d9d3f9acb crypto: GnuPG based MPI lib - source files
(part 1)
:::::: TO: Dmitry Kasatkin <dmitry.kasatkin(a)intel.com>
:::::: CC: Dmitry Kasatkin <dmitry.kasatkin(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org