crosstool-ng/patches/binutils/2.15/810-s390-invalid-insn-format.patch
Yann E. MORIN" b1e693e402 Renamed all patches file names so that locales are now irrelevant to sort the files.
Removed the locale check as it is now irrelevant.
Removed the experimental binutils 2.17.50.0.xx: 2.18 is here now.
2007-09-23 17:08:09 +00:00

43 lines
1.4 KiB
Diff

Message-ID: <000801c48f60$cec16630$9103a8c0@ULOC5012>
From: "Michael Geiger" <mcgege@gmx.de>
To: <dank@kegel.com>
Subject: Patch for cross compiling s/390 kernel on linux host
Date: Tue, 31 Aug 2004 15:45:41 +0200
Dear Dan,
I had big problems compiling a kernel for s/390 on my linux host - I tried
different chains from crosstool-0.28-rc34 and finally succeded with
gcc-3.3.4-glibc-2.3.2 after applying another patch to binutils-2.15
(attached).
All compilations of the different kernel versions I tried stopped with
"Invalid .insn format" somewhere. I checked the recent cvs version of
binutils and applied the latest diff to gas/config/tc-s390.c and that solved
it.
Greetings
Michael Geiger
diff -u -r1.39 -r1.40
--- src/gas/config/tc-s390.c 2004/05/06 11:01:48 1.39
+++ src/gas/config/tc-s390.c 2004/06/15 12:38:08 1.40
@@ -1596,13 +1596,13 @@
if (exp.X_op == O_constant)
{
if ( ( opformat->oplen == 6
- && exp.X_add_number >= 0
+ && (addressT) exp.X_add_number >= 0
&& (addressT) exp.X_add_number < (1ULL << 48))
|| ( opformat->oplen == 4
- && exp.X_add_number >= 0
+ && (addressT) exp.X_add_number >= 0
&& (addressT) exp.X_add_number < (1ULL << 32))
|| ( opformat->oplen == 2
- && exp.X_add_number >= 0
+ && (addressT) exp.X_add_number >= 0
&& (addressT) exp.X_add_number < (1ULL << 16)))
md_number_to_chars (insn, exp.X_add_number, opformat->oplen);
else