On Fri, Sep 11, 2020 at 9:49 AM Peter Ujfalusi <peter.ujfalusi(a)ti.com> wrote:
On 10/09/2020 14.18, Peter Ujfalusi wrote:
> On 10/09/2020 13.46, kernel test robot wrote:
>> tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
master
>> head: 7ce53e3a447bced7b85ed181c4d027e93c062e07
>> commit: 7547dbd3b198f309aaff54e3528898a8a196faff [4238/6654] dmaengine: Mark
dma_request_slave_channel() deprecated
>> config: arm64-randconfig-r025-20200909 (attached as .config)
>> compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
0a5dc7effb191eff740e0e7ae7bd8e1f6bdb3ad9)
^^^
>> 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 arm64 cross compiling tool for clang build
>> # apt-get install binutils-aarch64-linux-gnu
>> git checkout 7547dbd3b198f309aaff54e3528898a8a196faff
>> # save the attached .config to linux build tree
>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
>
> I'm not sure what is wrong, but can not reproduce it with GCC.
I have tried with clang/llvm (10.0.1) without luck to reproduce.
^^^
12.0.0 != 10.0.1
>> 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 >>):
>>
>> aarch64-linux-gnu-ld: warning: -z norelro ignored
>> aarch64-linux-gnu-ld: fs/orangefs/orangefs-debugfs.o: in function
`orangefs_debug_read':
>> fs/orangefs/orangefs-debugfs.c:375: undefined reference to `stpcpy'
>
> Is this also caused by the blaimed patch?
I think this is a part of the long (recent) discussion about clang
optimisations.
>> aarch64-linux-gnu-ld: security/apparmor/lsm.o: in
function `param_get_mode':
>> security/apparmor/lsm.c:1559: undefined reference to `stpcpy'
>> aarch64-linux-gnu-ld: security/apparmor/lsm.o: in function
`param_get_audit':
>> security/apparmor/lsm.c:1530: undefined reference to `stpcpy'
>> aarch64-linux-gnu-ld: drivers/tty/tty_io.o: in function `tty_line_name':
>> drivers/tty/tty_io.c:1139: undefined reference to `stpcpy'
>> aarch64-linux-gnu-ld: drivers/tty/tty_io.c:1139: undefined reference to
`stpcpy'
>> aarch64-linux-gnu-ld: drivers/tty/tty_io.o:drivers/tty/tty_io.c:1139: more
undefined references to `stpcpy' follow
>> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function
`lpuart_remove':
>> drivers/tty/serial/fsl_lpuart.c:2663: undefined reference to
`dma_release_channel'
>> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:2666: undefined
reference to `dma_release_channel'
>
> #ifdef CONFIG_DMA_ENGINE
> struct dma_chan *dma_request_chan(struct device *dev, const char *name);
> #else
> static inline struct dma_chan *dma_request_chan(struct device *dev,
> const char *name)
> {
> return ERR_PTR(-ENODEV);
> }
> #endif
>
> static inline struct dma_chan * __deprecated
> dma_request_slave_channel(struct device *dev, const char *name)
> {
> struct dma_chan *ch = dma_request_chan(dev, name);
>
> return IS_ERR(ch) ? NULL : ch;
> }
>
> And in the included config we have:
> # CONFIG_DMADEVICES is not set
> CONFIG_DMA_ENGINE=y
The .config get corrected all the time and the CONFIG_DMA_ENGINE goes
away, I can not make it stick.
--
With Best Regards,
Andy Shevchenko