patches/linux/2.4.26/linux-2.4-bsd-expr.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 08 17:48:32 2007 +0000 (2007-05-08)
changeset 78 c3868084d81a
permissions -rw-r--r--
Huge fixes to glibc build, so that we can build at least (and at last):
- use ports addon even when installing headers,
- use optimisation (-O) when installing headers, to avoid unnecessary warnings (thanks Robert P. J. DAY for pointing this out!),
- lowest kernel version to use is only X.Y.Z, not X.Y.Z.T,
- a bit of preparations for NPTL (RSN I hope),
- fix fixing the linker scripts (changing the backup file is kind of useless and stupid);

Shut uClibc finish step: there really is nothing to do;

Add a patch for glibc-2.3.6 weak aliases handling on some archs (ARM and ALPHA at least);

Did not catch the make errors: fixed the pattern matching in scripts/functions;

Introduce a new log level, ALL:
- send components' build messages there,
- DEBUG log level is destined only for crosstool-NG debug messages,
- migrate sub-actions to use appropriate log levels;

Update the armeb-unknown-linux-gnu sample:
- it builds!
- uses gcc-4.0.4 and glibc-2.3.6,
- updated to latest config options set.
     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
     7 
     8 Fixes error
     9   expr: syntax error
    10   KERNELRELEASE "2.4.21" exceeds 64 characters
    11   make: *** [include/linux/version.h] Error 1
    12 
    13 
    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
    17 @@ -353,7 +353,7 @@
    18  	@rm -f .ver1
    19  
    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