Re: [RFC 0/2] Kbuild: Support nested composite objects

From: Masahiro Yamada
Date: Tue Jan 26 2021 - 13:17:45 EST


On Sat, Jan 23, 2021 at 4:27 AM Elliot Berman <eberman@xxxxxxxxxxxxxx> wrote:
>
> This series was developed after discussion in https://lkml.org/lkml/2021/1/19/850
>
> The motivation for this series is an out-of-tree module which contains a large
> number of source files. This causes Kbuild to exceed the maximum command line
> argument length when linking the files. Proposal here permits composite objects
> to contain other composite objects. This allows the driver to split linking into
> several steps and avoid the maximum command line length error.


External modules often get the cold shoulder.

For example,
https://lore.kernel.org/patchwork/patch/1175556/#1372233


This problem has not been observed in the upstream tree.

I do not see a good reason to complicate the build
infrastructure for some external modules.






> Kbuild composite objects only supports one level of composite objects.
> That is, a composite object may only be composed of real compilable
> source files.
>
> As a simple example, the following Kbuild description is now supported:
>
> bar-a-y := a/bar0.o a/bar1.o
> bar-b-y := b/bar2.o b/bar3.o
>
> foo-objs := bar-a.o bar-b.o
>
> obj-m += foo.o
>
> Add such support by recursively searching for composite objects and
> listing them in $(multi-used-*) and $(real-obj-*).
>
> Elliot Berman (2):
> Kbuild: Make composite object searching more generic
> Kbuild: Support nested composite objects
>
> scripts/Makefile.lib | 20 ++++++++++++++++----
> 1 file changed, 16 insertions(+), 4 deletions(-)
>
> --
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
>


--
Best Regards
Masahiro Yamada