The arm64 allmodconfig build failed on Linux next 20210617 tag due to
the commit,
c950686b382d ("usb: host: xhci-plat: Create platform device for
onboard hubs in probe()")
build error:
------------
aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
`xhci_plat_remove':
drivers/usb/host/xhci-plat.c:427: undefined reference to
`onboard_hub_destroy_pdevs'
drivers/usb/host/xhci-plat.c:427:(.text+0x82c): relocation truncated
to fit: R_AARCH64_CALL26 against undefined symbol
`onboard_hub_destroy_pdevs'
aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
`xhci_plat_probe':
drivers/usb/host/xhci-plat.c:379: undefined reference to
`onboard_hub_create_pdevs'
drivers/usb/host/xhci-plat.c:379:(.text+0x131c): relocation truncated
to fit: R_AARCH64_CALL26 against undefined symbol
`onboard_hub_create_pdevs'
make[1]: *** [Makefile:1252: vmlinux] Error 1
make[1]: Target '__all' not remade because of errors.
make: *** [Makefile:222: __sub-make] Error 2
make: Target '__all' not remade because of errors.
steps to reproduce:
--------------------
tuxmake --runtime=podman --toolchain=gcc-11 --target=arm64 --kconfig
allmodconfig KCONFIG_ALLCONFIG=arch/arm64/configs/defconfig kernel
modules
Build:
--------
git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
git_sha: 7d9c6b8147bdd76d7eb2cf6f74f84c6918ae0939
git_short_log: 7d9c6b8147bd (\Add linux-next specific files for 20210617\)
arch: arm64
config: allmodconfig
toolchain: gcc-11
Reported-by: Naresh Kamboju <[email protected]>
--
Linaro LKFT
https://lkft.linaro.org
On Thu, Jun 17, 2021 at 07:09:15PM +0530, Naresh Kamboju wrote:
> The arm64 allmodconfig build failed on Linux next 20210617 tag due to
> the commit,
>
> c950686b382d ("usb: host: xhci-plat: Create platform device for
> onboard hubs in probe()")
>
> build error:
> ------------
> aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> `xhci_plat_remove':
> drivers/usb/host/xhci-plat.c:427: undefined reference to
> `onboard_hub_destroy_pdevs'
> drivers/usb/host/xhci-plat.c:427:(.text+0x82c): relocation truncated
> to fit: R_AARCH64_CALL26 against undefined symbol
> `onboard_hub_destroy_pdevs'
> aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> `xhci_plat_probe':
> drivers/usb/host/xhci-plat.c:379: undefined reference to
> `onboard_hub_create_pdevs'
> drivers/usb/host/xhci-plat.c:379:(.text+0x131c): relocation truncated
> to fit: R_AARCH64_CALL26 against undefined symbol
> `onboard_hub_create_pdevs'
> make[1]: *** [Makefile:1252: vmlinux] Error 1
> make[1]: Target '__all' not remade because of errors.
> make: *** [Makefile:222: __sub-make] Error 2
> make: Target '__all' not remade because of errors.
Matthias, this is due to your patch, yet-another config option mis-match
somewhere. Can you please fix it up?
thanks,
greg k-h
+ linux-usb
On Thu, 17 Jun 2021 at 19:09, Naresh Kamboju <[email protected]> wrote:
>
> The arm64 allmodconfig build failed on Linux next 20210617 tag due to
> the commit,
>
> c950686b382d ("usb: host: xhci-plat: Create platform device for
> onboard hubs in probe()")
>
> build error:
> ------------
> aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> `xhci_plat_remove':
> drivers/usb/host/xhci-plat.c:427: undefined reference to
> `onboard_hub_destroy_pdevs'
> drivers/usb/host/xhci-plat.c:427:(.text+0x82c): relocation truncated
> to fit: R_AARCH64_CALL26 against undefined symbol
> `onboard_hub_destroy_pdevs'
> aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> `xhci_plat_probe':
> drivers/usb/host/xhci-plat.c:379: undefined reference to
> `onboard_hub_create_pdevs'
> drivers/usb/host/xhci-plat.c:379:(.text+0x131c): relocation truncated
> to fit: R_AARCH64_CALL26 against undefined symbol
> `onboard_hub_create_pdevs'
> make[1]: *** [Makefile:1252: vmlinux] Error 1
> make[1]: Target '__all' not remade because of errors.
> make: *** [Makefile:222: __sub-make] Error 2
> make: Target '__all' not remade because of errors.
>
> steps to reproduce:
> --------------------
> tuxmake --runtime=podman --toolchain=gcc-11 --target=arm64 --kconfig
> allmodconfig KCONFIG_ALLCONFIG=arch/arm64/configs/defconfig kernel
> modules
>
> Build:
> --------
> git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
> git_sha: 7d9c6b8147bdd76d7eb2cf6f74f84c6918ae0939
> git_short_log: 7d9c6b8147bd (\Add linux-next specific files for 20210617\)
> arch: arm64
> config: allmodconfig
> toolchain: gcc-11
>
> Reported-by: Naresh Kamboju <[email protected]>
>
> --
> Linaro LKFT
> https://lkft.linaro.org
On Thu, Jun 17, 2021 at 03:45:57PM +0200, Greg Kroah-Hartman wrote:
> On Thu, Jun 17, 2021 at 07:09:15PM +0530, Naresh Kamboju wrote:
> > The arm64 allmodconfig build failed on Linux next 20210617 tag due to
> > the commit,
> >
> > c950686b382d ("usb: host: xhci-plat: Create platform device for
> > onboard hubs in probe()")
> >
> > build error:
> > ------------
> > aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> > `xhci_plat_remove':
> > drivers/usb/host/xhci-plat.c:427: undefined reference to
> > `onboard_hub_destroy_pdevs'
> > drivers/usb/host/xhci-plat.c:427:(.text+0x82c): relocation truncated
> > to fit: R_AARCH64_CALL26 against undefined symbol
> > `onboard_hub_destroy_pdevs'
> > aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> > `xhci_plat_probe':
> > drivers/usb/host/xhci-plat.c:379: undefined reference to
> > `onboard_hub_create_pdevs'
> > drivers/usb/host/xhci-plat.c:379:(.text+0x131c): relocation truncated
> > to fit: R_AARCH64_CALL26 against undefined symbol
> > `onboard_hub_create_pdevs'
> > make[1]: *** [Makefile:1252: vmlinux] Error 1
> > make[1]: Target '__all' not remade because of errors.
> > make: *** [Makefile:222: __sub-make] Error 2
> > make: Target '__all' not remade because of errors.
>
> Matthias, this is due to your patch, yet-another config option mis-match
> somewhere. Can you please fix it up?
I can repro this with:
make -j 16 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
KCONFIG_ALLCONFIG=arch/arm64/configs/defconfig allmodconfig kernel modules
This results in:
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_ONBOARD_HUB=m
The following Kconfig dependency was supposed to prevent this scenario:
config USB_XHCI_PLATFORM
depends on USB_ONBOARD_HUB || !USB_ONBOARD_HUB
But apparently this isn't the case.
With the above allmodconfig command the following warning is emitted:
WARNING: unmet direct dependencies detected for USB_XHCI_PLATFORM
Depends on [m]: USB_SUPPORT [=y] && USB [=y] && USB_XHCI_HCD [=y] && (USB_ONBOARD_HUB [=m] || !USB_ONBOARD_HUB [=m])
I read through kconfig-language.rst multiple times, but it's still not
clear to me how to specify this dependency properly.
Masahiro/Greg, do you have any pointers?
On Thu, Jun 17, 2021 at 11:16:18AM -0700, Matthias Kaehlcke wrote:
> On Thu, Jun 17, 2021 at 03:45:57PM +0200, Greg Kroah-Hartman wrote:
> > On Thu, Jun 17, 2021 at 07:09:15PM +0530, Naresh Kamboju wrote:
> > > The arm64 allmodconfig build failed on Linux next 20210617 tag due to
> > > the commit,
> > >
> > > c950686b382d ("usb: host: xhci-plat: Create platform device for
> > > onboard hubs in probe()")
> > >
> > > build error:
> > > ------------
> > > aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> > > `xhci_plat_remove':
> > > drivers/usb/host/xhci-plat.c:427: undefined reference to
> > > `onboard_hub_destroy_pdevs'
> > > drivers/usb/host/xhci-plat.c:427:(.text+0x82c): relocation truncated
> > > to fit: R_AARCH64_CALL26 against undefined symbol
> > > `onboard_hub_destroy_pdevs'
> > > aarch64-linux-gnu-ld: drivers/usb/host/xhci-plat.o: in function
> > > `xhci_plat_probe':
> > > drivers/usb/host/xhci-plat.c:379: undefined reference to
> > > `onboard_hub_create_pdevs'
> > > drivers/usb/host/xhci-plat.c:379:(.text+0x131c): relocation truncated
> > > to fit: R_AARCH64_CALL26 against undefined symbol
> > > `onboard_hub_create_pdevs'
> > > make[1]: *** [Makefile:1252: vmlinux] Error 1
> > > make[1]: Target '__all' not remade because of errors.
> > > make: *** [Makefile:222: __sub-make] Error 2
> > > make: Target '__all' not remade because of errors.
> >
> > Matthias, this is due to your patch, yet-another config option mis-match
> > somewhere. Can you please fix it up?
>
> I can repro this with:
>
> make -j 16 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
> KCONFIG_ALLCONFIG=arch/arm64/configs/defconfig allmodconfig kernel modules
>
> This results in:
>
> CONFIG_USB_XHCI_PLATFORM=y
> CONFIG_USB_ONBOARD_HUB=m
>
> The following Kconfig dependency was supposed to prevent this scenario:
>
> config USB_XHCI_PLATFORM
> depends on USB_ONBOARD_HUB || !USB_ONBOARD_HUB
>
> But apparently this isn't the case.
>
> With the above allmodconfig command the following warning is emitted:
>
> WARNING: unmet direct dependencies detected for USB_XHCI_PLATFORM
> Depends on [m]: USB_SUPPORT [=y] && USB [=y] && USB_XHCI_HCD [=y] && (USB_ONBOARD_HUB [=m] || !USB_ONBOARD_HUB [=m])
>
> I read through kconfig-language.rst multiple times, but it's still not
> clear to me how to specify this dependency properly.
>
> Masahiro/Greg, do you have any pointers?
Right now, no, sorry, and I don't have the bandwidth to look into this
myself.
I've reverted this series from the tree for now, as this issue isn't ok
for breaking linux-next, and due to the other merge issues with the dts
files. Please work on fixing this up and resending the series when it
is resolved.
thanks,
greg k-h