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