Fix building core C compiler.
PowerPC unveiled that you can't reliably build a target libgcc until you have C library headers.
In fact you can't build it at all. The fact that it did build for some architectures was purely coincidental, and a mistake.
This fix should still allow to build uClibc-based toolchains (some ARM uClibc toolchains were build-tested).
/trunk/scripts/build/cc_gcc.sh | 100 47 53 0 +++++++++++++++++++++++-------------------------
1 file changed, 47 insertions(+), 53 deletions(-)
1 # http://in3www.epfl.ch/~schaffne/linux-2.4-bsd-expr.patch
2 The following makes it possible to compile linux 2.4.19 to 2.4.25 on Mac OS X,
3 where "expr" doesn't understand the "length" construct
4 (which it doesn't have to, according to SuSv3
5 (see http://www.opengroup.org/onlinepubs/007904975/utilities/expr.html)
6 See also http://sources.redhat.com/ml/crossgcc/2004-02/msg00131.html
10 KERNELRELEASE "2.4.21" exceeds 64 characters
11 make: *** [include/linux/version.h] Error 1
14 diff -ur linux-2.4.23-old/Makefile linux-2.4.23/Makefile
15 --- linux-2.4.23-old/Makefile 2003-12-09 14:27:56.000000000 +0100
16 +++ linux-2.4.23/Makefile 2003-12-09 14:28:37.000000000 +0100
20 include/linux/version.h: ./Makefile
21 - @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
22 + @expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \
23 (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
24 @echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
25 @echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver