From: Mahesh Kumar Kalikot Veetil <mkalikot@xxxxxxxxxxxxxx> Modules with a large number of compilation units can exceed execv argument list resulting in E2BIG (Argument list too long) error. Fix this by replacing shell 'echo > file' into a more native $(file op filename[,text]) option. Signed-off-by: Mahesh Kumar Kalikot Veetil <mkalikot@xxxxxxxxxxxxxx> Signed-off-by: Jeff Johnson <jjohnson@xxxxxxxxxxxxxx> --- scripts/Makefile.build | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 4c058f1..252b7d2 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -279,10 +279,11 @@ $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE $(call if_changed_rule,cc_o_c) $(call cmd,force_checksrc) -cmd_mod = { \ - echo $(if $($*-objs)$($*-y)$($*-m), $(addprefix $(obj)/, $($*-objs) $($*-y) $($*-m)), $(@:.mod=.o)); \ - $(undefined_syms) echo; \ - } > $@ +cmd_mod = $(file >$@,\ + $(if $($*-objs)$($*-y)$($*-m), \ + $(addprefix $(obj)/, $($*-objs) $($*-y) $($*-m)), \ + $(@:.mod=.o))) \ + $(undefined_syms) echo >> $@ $(obj)/%.mod: $(obj)/%.o FORCE $(call if_changed,mod) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project