* [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
@ 2020-09-10 10:46 kernel test robot
2020-09-10 11:18 ` Peter Ujfalusi
0 siblings, 1 reply; 7+ messages in thread
From: kernel test robot @ 2020-09-10 10:46 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 8748 bytes --]
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
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@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'
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'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function `lpuart_request_dma':
drivers/tty/serial/fsl_lpuart.c:1513: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1521: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function `lpuart_dma_shutdown':
drivers/tty/serial/fsl_lpuart.c:1690: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1692: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function `lpuart_request_dma':
drivers/tty/serial/fsl_lpuart.c:1513: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1521: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel':
>> include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel_compat':
>> include/linux/dmaengine.h:1595: undefined reference to `__dma_request_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel':
>> include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel_compat':
>> include/linux/dmaengine.h:1595: undefined reference to `__dma_request_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_setup':
drivers/spi/spi-pxa2xx-dma.c:209: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_release':
drivers/spi/spi-pxa2xx-dma.c:223: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.c:228: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_probe':
drivers/spi/spi-rockchip.c:748: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:759: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:788: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:785: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_remove':
drivers/spi/spi-rockchip.c:816: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:818: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_release':
drivers/spi/spi-sprd.c:580: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o:drivers/spi/spi-sprd.c:583: more undefined references to `dma_release_channel' follow
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_request':
drivers/spi/spi-sprd.c:555: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:564: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:570: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_release':
drivers/spi/spi-sprd.c:580: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:583: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_probe':
drivers/spi/spi-uniphier.c:716: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:725: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:734: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:743: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_remove':
drivers/spi/spi-uniphier.c:773: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:775: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/usb/class/usblp.o: in function `ieee1284_id_show':
drivers/usb/class/usblp.c:1084: undefined reference to `stpcpy'
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=7547dbd3b198f309aaff54e3528898a8a196faff
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 7547dbd3b198f309aaff54e3528898a8a196faff
vim +1576 include/linux/dmaengine.h
1560
1561 int dma_async_device_register(struct dma_device *device);
1562 int dmaenginem_async_device_register(struct dma_device *device);
1563 void dma_async_device_unregister(struct dma_device *device);
1564 int dma_async_device_channel_register(struct dma_device *device,
1565 struct dma_chan *chan);
1566 void dma_async_device_channel_unregister(struct dma_device *device,
1567 struct dma_chan *chan);
1568 void dma_run_dependencies(struct dma_async_tx_descriptor *tx);
1569 #define dma_request_channel(mask, x, y) \
1570 __dma_request_channel(&(mask), x, y, NULL)
1571
1572 /* Deprecated, please use dma_request_chan() directly */
1573 static inline struct dma_chan * __deprecated
1574 dma_request_slave_channel(struct device *dev, const char *name)
1575 {
> 1576 struct dma_chan *ch = dma_request_chan(dev, name);
1577
1578 return IS_ERR(ch) ? NULL : ch;
1579 }
1580
1581 static inline struct dma_chan
1582 *dma_request_slave_channel_compat(const dma_cap_mask_t mask,
1583 dma_filter_fn fn, void *fn_param,
1584 struct device *dev, const char *name)
1585 {
1586 struct dma_chan *chan;
1587
1588 chan = dma_request_slave_channel(dev, name);
1589 if (chan)
1590 return chan;
1591
1592 if (!fn || !fn_param)
1593 return NULL;
1594
> 1595 return __dma_request_channel(&mask, fn, fn_param, NULL);
1596 }
1597
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38216 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
2020-09-10 10:46 [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan' kernel test robot
@ 2020-09-10 11:18 ` Peter Ujfalusi
2020-09-11 6:49 ` Peter Ujfalusi
0 siblings, 1 reply; 7+ messages in thread
From: Peter Ujfalusi @ 2020-09-10 11:18 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 9952 bytes --]
Hi,
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.
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@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?
> 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
> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function `lpuart_request_dma':
> drivers/tty/serial/fsl_lpuart.c:1513: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1521: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function `lpuart_dma_shutdown':
> drivers/tty/serial/fsl_lpuart.c:1690: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1692: undefined reference to `dma_release_channel'
My patch cerainly not touching the dma_release_channel related functions...
> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function `lpuart_request_dma':
> drivers/tty/serial/fsl_lpuart.c:1513: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1521: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel':
>>> include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel_compat':
>>> include/linux/dmaengine.h:1595: undefined reference to `__dma_request_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel':
>>> include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel_compat':
>>> include/linux/dmaengine.h:1595: undefined reference to `__dma_request_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_setup':
> drivers/spi/spi-pxa2xx-dma.c:209: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_release':
> drivers/spi/spi-pxa2xx-dma.c:223: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.c:228: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_probe':
> drivers/spi/spi-rockchip.c:748: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:759: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:788: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:785: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_remove':
> drivers/spi/spi-rockchip.c:816: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:818: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_release':
> drivers/spi/spi-sprd.c:580: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o:drivers/spi/spi-sprd.c:583: more undefined references to `dma_release_channel' follow
> aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_request':
> drivers/spi/spi-sprd.c:555: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:564: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:570: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_release':
> drivers/spi/spi-sprd.c:580: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:583: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_probe':
> drivers/spi/spi-uniphier.c:716: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:725: undefined reference to `dma_get_slave_caps'
> aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:734: undefined reference to `dma_request_chan'
> aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:743: undefined reference to `dma_get_slave_caps'
> aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_remove':
> drivers/spi/spi-uniphier.c:773: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:775: undefined reference to `dma_release_channel'
> aarch64-linux-gnu-ld: drivers/usb/class/usblp.o: in function `ieee1284_id_show':
> drivers/usb/class/usblp.c:1084: undefined reference to `stpcpy'
>
> # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=7547dbd3b198f309aaff54e3528898a8a196faff
> git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> git fetch --no-tags linux-next master
> git checkout 7547dbd3b198f309aaff54e3528898a8a196faff
> vim +1576 include/linux/dmaengine.h
>
> 1560
> 1561 int dma_async_device_register(struct dma_device *device);
> 1562 int dmaenginem_async_device_register(struct dma_device *device);
> 1563 void dma_async_device_unregister(struct dma_device *device);
> 1564 int dma_async_device_channel_register(struct dma_device *device,
> 1565 struct dma_chan *chan);
> 1566 void dma_async_device_channel_unregister(struct dma_device *device,
> 1567 struct dma_chan *chan);
> 1568 void dma_run_dependencies(struct dma_async_tx_descriptor *tx);
> 1569 #define dma_request_channel(mask, x, y) \
> 1570 __dma_request_channel(&(mask), x, y, NULL)
> 1571
> 1572 /* Deprecated, please use dma_request_chan() directly */
> 1573 static inline struct dma_chan * __deprecated
> 1574 dma_request_slave_channel(struct device *dev, const char *name)
> 1575 {
>> 1576 struct dma_chan *ch = dma_request_chan(dev, name);
> 1577
> 1578 return IS_ERR(ch) ? NULL : ch;
> 1579 }
> 1580
> 1581 static inline struct dma_chan
> 1582 *dma_request_slave_channel_compat(const dma_cap_mask_t mask,
> 1583 dma_filter_fn fn, void *fn_param,
> 1584 struct device *dev, const char *name)
> 1585 {
> 1586 struct dma_chan *chan;
> 1587
> 1588 chan = dma_request_slave_channel(dev, name);
> 1589 if (chan)
> 1590 return chan;
> 1591
> 1592 if (!fn || !fn_param)
> 1593 return NULL;
> 1594
>> 1595 return __dma_request_channel(&mask, fn, fn_param, NULL);
> 1596 }
> 1597
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
>
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
2020-09-10 11:18 ` Peter Ujfalusi
@ 2020-09-11 6:49 ` Peter Ujfalusi
2020-09-11 10:00 ` Andy Shevchenko
0 siblings, 1 reply; 7+ messages in thread
From: Peter Ujfalusi @ 2020-09-11 6:49 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3447 bytes --]
On 10/09/2020 14.18, Peter Ujfalusi wrote:
> Hi,
>
> 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.
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@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?
>
>> 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.
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
2020-09-11 6:49 ` Peter Ujfalusi
@ 2020-09-11 10:00 ` Andy Shevchenko
2020-09-11 11:16 ` Peter Ujfalusi
0 siblings, 1 reply; 7+ messages in thread
From: Andy Shevchenko @ 2020-09-11 10:00 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3704 bytes --]
On Fri, Sep 11, 2020 at 9:49 AM Peter Ujfalusi <peter.ujfalusi@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@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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
2020-09-11 10:00 ` Andy Shevchenko
@ 2020-09-11 11:16 ` Peter Ujfalusi
2020-09-11 12:21 ` Vinod Koul
0 siblings, 1 reply; 7+ messages in thread
From: Peter Ujfalusi @ 2020-09-11 11:16 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4193 bytes --]
On 11/09/2020 13.00, Andy Shevchenko wrote:
> On Fri, Sep 11, 2020 at 9:49 AM Peter Ujfalusi <peter.ujfalusi@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
Yes, I have noticed that.
11.0.0 is at rc2, 12.0.0 is only in master w/o tag.
I _could_ install sys-devel/clang-12.0.0.9999 locally, after all it
would go to different slot, but I would rather not.
>>>> If you fix the issue, kindly add following tag as appropriate
>>>> Reported-by: kernel test robot <lkp@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.
Right, is there anything I could do or are we going to have similar mail
coming every day?
>
>>>> 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.
>
>
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
2020-09-11 11:16 ` Peter Ujfalusi
@ 2020-09-11 12:21 ` Vinod Koul
0 siblings, 0 replies; 7+ messages in thread
From: Vinod Koul @ 2020-09-11 12:21 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1822 bytes --]
On 11-09-20, 14:16, Peter Ujfalusi wrote:
>
>
> On 11/09/2020 13.00, Andy Shevchenko wrote:
> > On Fri, Sep 11, 2020 at 9:49 AM Peter Ujfalusi <peter.ujfalusi@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
see this
> >>>> 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
>
> Yes, I have noticed that.
> 11.0.0 is at rc2, 12.0.0 is only in master w/o tag.
>
> I _could_ install sys-devel/clang-12.0.0.9999 locally, after all it
> would go to different slot, but I would rather not.
This bot has toolchains and you can install them and use to check
--
~Vinod
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
[not found] <20200911155419.GA3933165@ubuntu-n2-xlarge-x86>
@ 2020-09-14 14:19 ` Peter Ujfalusi
0 siblings, 0 replies; 7+ messages in thread
From: Peter Ujfalusi @ 2020-09-14 14:19 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1295 bytes --]
Hi Nathan,
On 11/09/2020 18.54, Nathan Chancellor wrote:
> For what it's worth, I can reproduce this failure at that particular
> commit and I see a Kconfig warning along with it:
>
> WARNING: unmet direct dependencies detected for DMA_ENGINE
> Depends on [n]: DMADEVICES [=n]
> Selected by [m]:
> - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP [=y] || COMPILE_TEST [=n]) && COMMON_CLK [=y] && DRM [=y] && OF [=y]
>
> However, at tip of -next, the config is fine. It appears this is fixed
> with the commit that fixes that warning:
>
> https://git.kernel.org/next/linux-next/c/3e8b2403545efd46c6347002e27eae4708205fd4
Right, this is fixing the incorrect config.
Without DMADEVICES the drivers/dma is not going to be built, and the
header (include/linux/dmaengine.h) checks for CONFIG_DMA_ENGINE to
decide if the drivers/dma/dmaengine.o is built or not.
In the failure we have
DMADEVICES=n
DMA_ENGINE=y
yet, the dmaengine is not built as the whole drivers/dma/ is skipped.
Interesting case.
If we make DMA_ENGINE to depend on DMADEVICES then this should not
happen (and also DMA_ACPI and DMA_OF ?)
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-09-14 14:19 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-10 10:46 [linux-next:master 4238/6654] include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan' kernel test robot
2020-09-10 11:18 ` Peter Ujfalusi
2020-09-11 6:49 ` Peter Ujfalusi
2020-09-11 10:00 ` Andy Shevchenko
2020-09-11 11:16 ` Peter Ujfalusi
2020-09-11 12:21 ` Vinod Koul
[not found] <20200911155419.GA3933165@ubuntu-n2-xlarge-x86>
2020-09-14 14:19 ` Peter Ujfalusi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.