Messages in this thread Patch in this message | | | From | Jeff Johnson <> | Subject | [PATCH 1/2] kbuild: simplify cmd_mod | Date | Tue, 12 Jan 2021 17:18:50 -0800 |
| |
From: Mahesh Kumar Kalikot Veetil <mkalikot@codeaurora.org>
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@codeaurora.org> Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org> --- 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
| |