modpost: handle huge numbers of modules.
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 4 Apr 2013 07:07:38 +0000 (17:37 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 5 Apr 2013 01:18:10 +0000 (11:48 +1030)
commitea4054a2384a115cd340151f4bb4628bfaee41a1
tree9446e973e135a1ee51c446d593b4bc414027ed2c
parent712f9b46843d941347e86dcd2e1d63f9d3b112cb
modpost: handle huge numbers of modules.

strace shows:
72102 execve("/bin/sh", ["/bin/sh", "-c", "echo '  scripts/mod/modpost -m -a
-o /cc/wfg/sound-compiletest/Module.symvers      -s'; scripts/
mod/modpost -m -a -o /cc/wfg/sound-compiletest/Module.symvers      -s vmlinux
arch/x86/crypto/ablk_helper.o arch/x86/crypto/aes-i586.o arch
/x86/crypto/aesni-intel.o arch/x86/crypto/crc32-pclmul.o
...
drivers/ata/sata_promise.o "...], [/* 119 vars */] <unfinished ...>
71827 wait4(-1,  <unfinished ...>
72102 <... execve resumed> )            = -1 E2BIG (Argument list too long)

So we re-run the shell command which produces the list and feed it into modpost -T -.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
scripts/Makefile.modpost