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.
yann@1
     1
# http://in3www.epfl.ch/~schaffne/linux-2.4-bsd-expr.patch
yann@1
     2
The following makes it possible to compile linux 2.4.19 to 2.4.25 on Mac OS X,
yann@1
     3
where "expr" doesn't understand the "length" construct
yann@1
     4
(which it doesn't have to, according to SuSv3
yann@1
     5
(see http://www.opengroup.org/onlinepubs/007904975/utilities/expr.html)
yann@1
     6
See also http://sources.redhat.com/ml/crossgcc/2004-02/msg00131.html
yann@1
     7
yann@1
     8
Fixes error
yann@1
     9
  expr: syntax error
yann@1
    10
  KERNELRELEASE "2.4.21" exceeds 64 characters
yann@1
    11
  make: *** [include/linux/version.h] Error 1
yann@1
    12
yann@1
    13
yann@1
    14
diff -ur linux-2.4.23-old/Makefile linux-2.4.23/Makefile
yann@1
    15
--- linux-2.4.23-old/Makefile	2003-12-09 14:27:56.000000000 +0100
yann@1
    16
+++ linux-2.4.23/Makefile	2003-12-09 14:28:37.000000000 +0100
yann@1
    17
@@ -353,7 +353,7 @@
yann@1
    18
 	@rm -f .ver1
yann@1
    19
 
yann@1
    20
 include/linux/version.h: ./Makefile
yann@1
    21
-	@expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
yann@1
    22
+	@expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \
yann@1
    23
 	  (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
yann@1
    24
 	@echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
yann@1
    25
 	@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver