patches/binutils/2.15/260-s390-invalid-insn-format.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jan 06 22:22:02 2009 +0000 (2009-01-06)
changeset 1130 78681fe5cdd1
parent 402 197e1b49586e
permissions -rw-r--r--
Update all samples to the latest set of config options.
There might be some small issues here and there due to the split of CT_ExtractAndPatch.

/trunk/samples/x86_64-unknown-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/sh4-unknown-linux-gnu/crosstool.config | 13 10 3 0 +++++++++---
/trunk/samples/armeb-unknown-linux-uclibc/crosstool.config | 10 7 3 0 ++++++---
/trunk/samples/arm-unknown-elf/crosstool.config | 8 4 4 0 +++---
/trunk/samples/arm-unknown-linux-gnueabi/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/armeb-unknown-eabi/crosstool.config | 8 4 4 0 +++---
/trunk/samples/ia64-unknown-linux-gnu/crosstool.config | 13 10 3 0 +++++++++---
/trunk/samples/x86_64-unknown-linux-uclibc/crosstool.config | 11 8 3 0 +++++++---
/trunk/samples/armeb-unknown-linux-gnueabi/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 11 8 3 0 +++++++---
/trunk/samples/i686-nptl-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/powerpc-unknown-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/arm-unknown-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/mips-unknown-linux-uclibc/crosstool.config | 10 7 3 0 ++++++---
/trunk/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 11 8 3 0 +++++++---
/trunk/samples/arm-iphone-linux-gnueabi/crosstool.config | 5 2 3 0 ++---
/trunk/samples/armeb-unknown-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/powerpc-unknown-linux-uclibc/crosstool.config | 10 7 3 0 ++++++---
/trunk/samples/arm-unknown-linux-uclibc/crosstool.config | 11 8 3 0 +++++++---
/trunk/samples/i586-geode-linux-uclibc/crosstool.config | 11 8 3 0 +++++++---
/trunk/samples/powerpc-405-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/mips-unknown-elf/crosstool.config | 8 4 4 0 +++---
/trunk/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 11 8 3 0 +++++++---
/trunk/samples/mipsel-unknown-linux-gnu/crosstool.config | 13 10 3 0 +++++++++---
/trunk/samples/arm-unknown-eabi/crosstool.config | 8 4 4 0 +++---
/trunk/samples/alphaev56-unknown-linux-gnu/crosstool.config | 14 11 3 0 ++++++++++---
/trunk/samples/powerpc-860-linux-gnu/crosstool.config | 13 10 3 0 +++++++++---
28 files changed, 237 insertions(+), 88 deletions(-)
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