Messages in this thread Patch in this message | | | From | David Cullen <> | Subject | [RFC PATCHv2] QEMU Fix /usr/bin/xargs: etags: Argument list too long | Date | Wed, 8 Aug 2012 17:23:49 +0000 |
| |
Patch applies to
commit 42a579a0f960081cd16fc945036e4780c3ad3202
When running "make ARCH=arm TAGS" in a cross chroot using qemu-arm-static, the following message is emitted:
[user@host:/home/work/linux]: make ARCH=arm TAGS GEN TAGS /usr/bin/xargs: etags: Argument list too long
This can be fixed by by passing "-s $((120 * 1024))" to xargs in scripts/tags.sh when QEMU matches .*qemu-.*-static$.
This limits the xargs command line to 120KiB characters to provide headroom for people running inside a cross chroot using qemu-.*-static.
Signed-off-by: David Cullen <david.cullen@koe-americas.com> --- scripts/tags.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/scripts/tags.sh b/scripts/tags.sh index cff8faa..02947c5 100755 --- a/scripts/tags.sh +++ b/scripts/tags.sh @@ -5,12 +5,19 @@ # mode may be any of: tags, TAGS, cscope # # Uses the following environment variables: -# ARCH, SUBARCH, SRCARCH, srctree, src, obj +# ARCH, SUBARCH, SRCARCH, srctree, src, obj, QEMU
if [ "$KBUILD_VERBOSE" = "1" ]; then set -x fi
+# If the user is running in a cross chroot using qemu-.*-static, +# limit xargs to 120KiB of characters per command line. +XARGS_MAX_CHARS= +if [ -n "$QEMU" ] && [[ "$QEMU" =~ .*qemu-.*-static$ ]] ; then + XARGS_MAX_CHARS="-s $(( 120 * 1024 ))" +fi + # This is a duplicate of RCS_FIND_IGNORE without escaped '()' ignore="( -name SCCS -o -name BitKeeper -o -name .svn -o \ -name CVS -o -name .pc -o -name .hg -o \ @@ -121,7 +128,7 @@ dogtags()
exuberant() { - all_sources | xargs $1 -a \ + all_sources | xargs $XARGS_MAX_CHARS $1 -a \ -I __initdata,__exitdata,__acquires,__releases \ -I __read_mostly,____cacheline_aligned \ -I ____cacheline_aligned_in_smp \ -- 1.7.9.5
| |