Hi Antony, Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master] [also build test ERROR on v5.10-rc5 next-20201124] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Antony-Yu/ARM-fix-__div64_32-error-when-compiling-with-clang/20201123-154454 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 418baf2c28f3473039f2f7377760bd8f6897ae18 config: arm-randconfig-r036-20201124 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project df9ae5992889560a8f3c6760b54d5051b47c7bf5) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/0day-ci/linux/commit/83df1f983ed4219556020bf30cc819e66bb7e69c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Antony-Yu/ARM-fix-__div64_32-error-when-compiling-with-clang/20201123-154454 git checkout 83df1f983ed4219556020bf30cc819e66bb7e69c # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All errors (new ones prefixed by >>): drivers/tty/serial/imx.c:359:19: warning: unused function 'imx_uart_is_imx21' [-Wunused-function] static inline int imx_uart_is_imx21(struct imx_port *sport) ^ drivers/tty/serial/imx.c:364:19: warning: unused function 'imx_uart_is_imx53' [-Wunused-function] static inline int imx_uart_is_imx53(struct imx_port *sport) ^ drivers/tty/serial/imx.c:369:19: warning: unused function 'imx_uart_is_imx6q' [-Wunused-function] static inline int imx_uart_is_imx6q(struct imx_port *sport) ^ In file included from drivers/tty/serial/imx.c:11: In file included from include/linux/module.h:12: In file included from include/linux/list.h:9: In file included from include/linux/kernel.h:19: >> arch/arm/include/asm/div64.h:39:2: error: multiple outputs to hard register: >> r0 asm( __asmeq("%0", __xh) ^ 3 warnings and 1 error generated. -- In file included from drivers/gpu/drm/tegra/dc.c:7: In file included from include/linux/clk.h:13: In file included from include/linux/kernel.h:19: >> arch/arm/include/asm/div64.h:39:2: error: multiple outputs to hard register: >> r0 asm( __asmeq("%0", __xh) ^ 1 error generated. vim +39 arch/arm/include/asm/div64.h ^1da177e4c3f415 include/asm-arm/div64.h Linus Torvalds 2005-04-16 32 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 33 static inline uint32_t __div64_32(uint64_t *n, uint32_t base) 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 34 { 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 35 register unsigned int __base asm("r4") = base; 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 36 register unsigned long long __n asm("r0") = *n; 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 37 register unsigned long long __res asm("r2"); 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 38 register unsigned int __rem asm(__xh); 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 @39 asm( __asmeq("%0", __xh) 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 40 __asmeq("%1", "r2") 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 41 __asmeq("%2", "r0") 83df1f983ed4219 arch/arm/include/asm/div64.h Antony Yu 2020-11-23 42 __asmeq("%3", "r0") 83df1f983ed4219 arch/arm/include/asm/div64.h Antony Yu 2020-11-23 43 __asmeq("%4", "r4") 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 44 "bl __do_div64" 83df1f983ed4219 arch/arm/include/asm/div64.h Antony Yu 2020-11-23 45 : "=r" (__rem), "=r" (__res), "=r" (__n) 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 46 : "r" (__n), "r" (__base) 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 47 : "ip", "lr", "cc"); 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 48 *n = __res; 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 49 return __rem; 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 50 } 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 51 #define __div64_32 __div64_32 040b323b5012b55 arch/arm/include/asm/div64.h Nicolas Pitre 2015-11-02 52 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip