Hi Laurent, On Tue, Apr 21, 2020 at 10:47 PM Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > HOSTLD scripts/dtc/dtc > CHKDT Documentation/devicetree/bindings/arm/psci.yaml > make[2]: execvp: /bin/sh: Argument list too long > make[2]: *** [/home/laurent/src/kernel/this_is_a_long_directory_name/linux/Documentation/devicetree/bindings/Makefile:38: Documentation/devicetree/bindings/processed-schema-examples.yaml] Error 127 > make[1]: *** [/home/laurent/src/kernel/this_is_a_long_directory_name/linux/Makefile:1300: dt_binding_check] Error 2 > make[1]: Leaving directory '/home/laurent/src/kernel/this_is_a_long_directory_name/linux/output/x86' > make: *** [Makefile:180: sub-make] Error 2 > > It seems to only fail with out of tree builds (O=...). I expect that > failures will become more common the more YAML bindings we have, even > without long directory names. Indeed. This will be a common problem sooner or later. Rob already suggested a solution. Another way is to use a pipe. See the following code in scripts/Makefile.modpost # Read out modules.order instead of expanding $(modules) to pass in modpost. # Otherwise, allmodconfig would fail with "Argument list too long". quiet_cmd_modpost = MODPOST $(words $(modules)) modules cmd_modpost = sed 's/ko$$/o/' $(MODORDER) | $(MODPOST) The same issue happens for modpost because allmodconfig floods the command line. -- Best Regards Masahiro Yamada