author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Mon Jan 12 19:04:41 2009 +0000 (2009-01-12) | |
changeset 1136 | 9df0e560ec14 |
parent 402 | 197e1b49586e |
permissions | -rw-r--r-- |
yann@402 | 1 |
Message-ID: <000801c48f60$cec16630$9103a8c0@ULOC5012> |
yann@402 | 2 |
From: "Michael Geiger" <mcgege@gmx.de> |
yann@402 | 3 |
To: <dank@kegel.com> |
yann@402 | 4 |
Subject: Patch for cross compiling s/390 kernel on linux host |
yann@402 | 5 |
Date: Tue, 31 Aug 2004 15:45:41 +0200 |
yann@402 | 6 |
|
yann@402 | 7 |
Dear Dan, |
yann@402 | 8 |
|
yann@402 | 9 |
I had big problems compiling a kernel for s/390 on my linux host - I tried |
yann@402 | 10 |
different chains from crosstool-0.28-rc34 and finally succeded with |
yann@402 | 11 |
gcc-3.3.4-glibc-2.3.2 after applying another patch to binutils-2.15 |
yann@402 | 12 |
(attached). |
yann@402 | 13 |
All compilations of the different kernel versions I tried stopped with |
yann@402 | 14 |
"Invalid .insn format" somewhere. I checked the recent cvs version of |
yann@402 | 15 |
binutils and applied the latest diff to gas/config/tc-s390.c and that solved |
yann@402 | 16 |
it. |
yann@402 | 17 |
|
yann@402 | 18 |
Greetings |
yann@402 | 19 |
|
yann@402 | 20 |
Michael Geiger |
yann@402 | 21 |
|
yann@402 | 22 |
|
yann@402 | 23 |
diff -u -r1.39 -r1.40 |
yann@402 | 24 |
--- src/gas/config/tc-s390.c 2004/05/06 11:01:48 1.39 |
yann@402 | 25 |
+++ src/gas/config/tc-s390.c 2004/06/15 12:38:08 1.40 |
yann@402 | 26 |
@@ -1596,13 +1596,13 @@ |
yann@402 | 27 |
if (exp.X_op == O_constant) |
yann@402 | 28 |
{ |
yann@402 | 29 |
if ( ( opformat->oplen == 6 |
yann@402 | 30 |
- && exp.X_add_number >= 0 |
yann@402 | 31 |
+ && (addressT) exp.X_add_number >= 0 |
yann@402 | 32 |
&& (addressT) exp.X_add_number < (1ULL << 48)) |
yann@402 | 33 |
|| ( opformat->oplen == 4 |
yann@402 | 34 |
- && exp.X_add_number >= 0 |
yann@402 | 35 |
+ && (addressT) exp.X_add_number >= 0 |
yann@402 | 36 |
&& (addressT) exp.X_add_number < (1ULL << 32)) |
yann@402 | 37 |
|| ( opformat->oplen == 2 |
yann@402 | 38 |
- && exp.X_add_number >= 0 |
yann@402 | 39 |
+ && (addressT) exp.X_add_number >= 0 |
yann@402 | 40 |
&& (addressT) exp.X_add_number < (1ULL << 16))) |
yann@402 | 41 |
md_number_to_chars (insn, exp.X_add_number, opformat->oplen); |
yann@402 | 42 |
else |