Enhance setting the minimum kernel version glibc will run against.
Ideally, eglibc should also benefit for that, but the current code does not set it.
/trunk/scripts/build/libc/glibc.sh | 38 33 5 0 +++++++++++++++---
/trunk/config/libc/glibc.in | 4 2 2 0 +-
/trunk/config/libc/uClibc.in | 2 2 0 0 +
/trunk/config/libc/eglibc.in | 4 2 2 0 +-
/trunk/config/libc/glibc-eglibc-common.in | 80 68 12 0 +++++++++++++++++++++++++++++++------
/trunk/config/libc.in | 69 38 31 0 ++++++++++++++++++--------------
6 files changed, 145 insertions(+), 52 deletions(-)
1 Message-ID: <000801c48f60$cec16630$9103a8c0@ULOC5012>
2 From: "Michael Geiger" <mcgege@gmx.de>
4 Subject: Patch for cross compiling s/390 kernel on linux host
5 Date: Tue, 31 Aug 2004 15:45:41 +0200
9 I had big problems compiling a kernel for s/390 on my linux host - I tried
10 different chains from crosstool-0.28-rc34 and finally succeded with
11 gcc-3.3.4-glibc-2.3.2 after applying another patch to binutils-2.15
13 All compilations of the different kernel versions I tried stopped with
14 "Invalid .insn format" somewhere. I checked the recent cvs version of
15 binutils and applied the latest diff to gas/config/tc-s390.c and that solved
24 --- src/gas/config/tc-s390.c 2004/05/06 11:01:48 1.39
25 +++ src/gas/config/tc-s390.c 2004/06/15 12:38:08 1.40
26 @@ -1596,13 +1596,13 @@
27 if (exp.X_op == O_constant)
29 if ( ( opformat->oplen == 6
30 - && exp.X_add_number >= 0
31 + && (addressT) exp.X_add_number >= 0
32 && (addressT) exp.X_add_number < (1ULL << 48))
33 || ( opformat->oplen == 4
34 - && exp.X_add_number >= 0
35 + && (addressT) exp.X_add_number >= 0
36 && (addressT) exp.X_add_number < (1ULL << 32))
37 || ( opformat->oplen == 2
38 - && exp.X_add_number >= 0
39 + && (addressT) exp.X_add_number >= 0
40 && (addressT) exp.X_add_number < (1ULL << 16)))
41 md_number_to_chars (insn, exp.X_add_number, opformat->oplen);