Re: 2.3.51

From: Keith Owens (kaos@ocs.com.au)
Date: Tue Mar 14 2000 - 04:28:19 EST


On Sun, 12 Mar 2000 07:03:04 +0300 (MSK),
"Khimenko Victor" <khim@sch57.msk.ru> wrote:
>In <m12Tvjn-0006hEC@grumbeer.inka.de> Hans-Joachim Baader (hans@grumbeer.inka.de) wrote:
>> I tried to compile it with everything enabled (as module if possible)
>> and got the following error:
>
>> find . -name '*.[oas]' -type f -print | grep -v lxdialog/ | xargs rm -f
>> xargs: environment is too large for exec
>> make: *** [clean] Error 1
>
>> What's that? I never saw that before ;-)
>
>Linux can not execute program with command line longer then 128KiB. It's
>what happened. It was discussed recently. Looks like noone (apart of me and
>Jamie Lokier <lk@tantalophile.demon.co.uk> :-) is interested in fixing that.
>Jamie promised to cook up better patch then mine but so far I've not seen
>anything ...

The command line is not the problem, it is the environment space that
is too big. This patch fixes the problem. I originally sent it in
against 2.3.40 and got no response. Maybe it will get into 2.3.52.

=================

Index: 51.1/Makefile
--- 51.1/Makefile Sat, 11 Mar 2000 14:54:23 +1100 keith (linux-2.3/M/b/40_Makefile 1.7.1.19.1.3.1.3.1.7.2.1.1.11 644)
+++ linux/Makefile Tue, 14 Mar 2000 20:24:12 +1100 keith (linux-2.3/M/b/40_Makefile 1.7.1.19.1.3.1.3.1.7.2.1.1.11 644)
@@ -358,15 +358,15 @@
 
 TAGS: dummy
         etags `find include/asm-$(ARCH) -name '*.h'`
- find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs etags -a
- find $(SUBDIRS) init -name '*.c' | xargs etags -a
+ find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | sh scripts/xargs etags -a
+ find $(SUBDIRS) init -name '*.c' | sh scripts/xargs etags -a
 
 # Exuberant ctags works better with -I
 tags: dummy
         CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__initlocaldata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
         ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \
- find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \
- find $(SUBDIRS) init -name '*.c' | xargs ctags $$CTAGSF -a
+ find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | sh scripts/xargs ctags $$CTAGSF -a && \
+ find $(SUBDIRS) init -name '*.c' | sh scripts/xargs ctags $$CTAGSF -a
 
 MODFLAGS += -DMODULE
 ifdef CONFIG_MODULES
@@ -437,7 +437,7 @@
 
 clean: archclean
         rm -f kernel/ksyms.lst include/linux/compile.h
- find . -name '*.[oas]' -type f -print | grep -v lxdialog/ | xargs rm -f
+ find . -name '*.[oas]' -type f -print | grep -v lxdialog/ | sh scripts/xargs rm -f
         rm -f core `find . -type f -name 'core' -print`
         rm -f core `find . -type f -name '.*.flags' -print`
         rm -f vmlinux System.map
@@ -485,7 +485,7 @@
         sync
 
 sums:
- find . -type f -print | sort | xargs sum > .SUMS
+ find . -type f -print | sort | sh scripts/xargs sum > .SUMS
 
 dep-files: scripts/mkdep archdep include/linux/version.h
         scripts/mkdep init/*.c > .depend
@@ -502,7 +502,7 @@
 
 # make checkconfig: Prune 'scripts' directory to avoid "false positives".
 checkconfig:
- find * -name '*.[hcS]' -type f -print | grep -v scripts/ | sort | xargs perl -w scripts/checkconfig.pl
+ find * -name '*.[hcS]' -type f -print | grep -v scripts/ | sort | sh scripts/xargs perl -w scripts/checkconfig.pl
 
 checkhelp:
         perl -w scripts/checkhelp.pl `find * -name [cC]onfig.in -print`
Index: 51.1/scripts/xargs
--- 51.1/scripts/xargs Tue, 14 Mar 2000 20:24:59 +1100 keith ()
+++ linux/scripts/xargs Tue, 14 Mar 2000 20:24:12 +1100 keith (linux-2.3/N/c/0_xargs 644)
@@ -0,0 +1,6 @@
+#!/bin/bash
+# xargs has hardwired limits on the "sensible" environment size. A
+# kernel compile with every config option turned on blows this limit.
+# Strip out CONFIG_ env variables before calling xargs.
+unset `env | grep '^CONFIG_' | sed -e 's/=.*//'`
+xargs "$@"

=================

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Mar 15 2000 - 21:00:28 EST