Subject: current cvs binutils and mipsel-linux kernel

From: Florian Lohoff <[email-masked]>
Date: Mon, 10 Jul 2000 01:18:46 +0200

Hi,
it seems there is a problem in the binutils from current cvs ...

mipsel-linux-gcc -D__KERNEL__ -I/home/flo/mips/dec/src/linux-2.4.0-test3/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer  -G 0 -mno-abicalls -fno-pic -mcpu=r4600 -mips2 -pipe -fno-strict-aliasing -c softfp.S -o softfp.o
softfp.S: Assembler messages:
softfp.S:225: Error: illegal operands `la'
softfp.S:225: Error: unrecognized opcode `cvt'
softfp.S:225: Error: Rest of line ignored. First ignored character is `.'.
make[1]: *** [softfp.o] Error 1
make[1]: Leaving directory `/home/flo/mips/dec/src/linux-2.4.0-test3/arch/mips/kernel'
make: *** [_dir_arch/mips/kernel] Error 2

(flo@ping)~/mips/dec/src/linux-2.4.0-test3# mipsel-linux-as --version
GNU assembler 2.10.90
Copyright 2000 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of `mipsel-linux'.

This is cvs checkout as of 20000708

Flo
-- 
Florian Lohoff		[email-masked]		      	+49-5201-669912
     "If you're not having fun right now, you're wasting your time."

---

From: Keith M Wesolowski <[email-masked]>
Date: Sun, 9 Jul 2000 20:45:45 -0700

> make: *** [_dir_arch/mips/kernel] Error 2

This is not a binutils problem. It is caused by a behaviour change in
the C preprocessor in gcc 2.96 >= 000703. This has been fixed in the
CVS kernel; there are other changes required to build with such
compilers available in my patch at
ftp://oss.sgi.com/pub/linux/mips/mips-linux/simple/kernel-patches/kernel-newcpp-000707.diff.

-- 
Keith M Wesolowski			[email-masked]
University of Nevada			http://www.chem.unr.edu
Chemistry Department Systems and Network Administrator

---

From: Ralf Baechle <[email-masked]>
Date: Mon, 10 Jul 2000 19:29:18 +0200

> make: *** [_dir_arch/mips/kernel] Error 2

You're probably also using a very recent gcc.  Recent gcc had preprocessor
changes to make it more stricly comply to ISO.  This breaks a number of
files in the Linux kernel which for readability have extra space around
the ## C preprocessor paste.  I've already commited the necessary fixes
for softfp.S which is the only affected MIPS file to CVS.  There is still
a large number of other files which aren't ISO C89 compliant.   Keith
Wesolowski has made a patch for those which I'll send to Linus.

  Ralf