I'm sending this private reply back to the list. It's best to keep all mail on the list for several reasons - the main one here is that I may not be very helpful, I'm just guessing.
On Sat, Oct 22, 2005 at 12:33:37PM +0200, Bo?tjan Müller wrote: > David wrote: > | On Fri, Oct 21, 2005 at 03:05:59PM +0200, Bo?tjan Müller wrote: > |>I am trying to compile a 2.4.31 kernel (with some additional patches) > |>and have had no success in doing so today (i tried without patches - > |>vanilla kernel also). > |>$ export MAKEFLAGS="CC=gcc-2.95" > |>$ make-kpkg --revision 0 --bzimage --added_patches openswan > |>- --append-to-version -neonatus.net kernel-image > |> > |>[...] > |>make[2]: Entering directory > |>`/home/new_usr/src/linux-2.4.31-neonatus.net/arch/i386/kernel' > |>gcc-2.95 -D__KERNEL__ > |>- -I/home/new_usr/src/linux-2.4.31-neonatus.net/include -Wall > |>- -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common > |>- -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 > |>- -nostdinc -iwithprefix include -DKBUILD_BASENAME=process -c -o > |>process.o process.c > |>{standard input}: Assembler messages: > |>{standard input}:732: Error: suffix or operands invalid for `mov' > |>Does anyone know why I get the above error? > |>What can I do to make it compile like it should? > | I successfully compiled the 2.4.31 kernel in Stable, so the kernel > | source should be alright. > | > | What the error message is saying is that the assembler source file that > | has been generated has errors in it. > | > | What might be happening is that you may be running out of disk > | space wherever the temp files are stored - would that be /tmp? You > | might try running df to see how your disk space is running - perhaps > | even while compiling the kernel. > | > | Did you try using a later version of gcc? The file > | Documentation/Changes still states that gcc 2.95 is the preferred > | compiler, but I've been using GCC 3.x for some time and all _appears_ to > | be fine. I believe I've seen where it's been stated that 3.x compilers > | are OK now. > There must be something really wrong with my system than - I am running > just the ordinary Debian sid (no extra packages or nothing). > > $ tar -xjf linux-2.4.31.tar.bz2 > $ ln -s linux-2.4.31 linux Actually, the above is no longer a necessary step. > $ cd linux > $ cp ../linux-2.4.31-neonatus.net/.config ./ > $ export PATCH_THE_KERNEL=YES; export MAKEFLAGS="CC=gcc-3.4"; make-kpkg > - -revision 0 --bzimage --added_patches openswan --append-to-version > - -neonatus.net kernel-image > [...] > make[2]: Entering directory > `/home/new_usr/src/linux-2.4.31/arch/i386/kernel' > gcc-3.4 -D__KERNEL__ -I/home/new_usr/src/linux-2.4.31/include -Wall > - -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common > - -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 > - -fno-unit-at-a-time -nostdinc -iwithprefix include > - -DKBUILD_BASENAME=process -c -o process.o process.c > {standard input}: Assembler messages: > {standard input}:726: Error: suffix or operands invalid for `mov' > {standard input}:727: Error: suffix or operands invalid for `mov' > {standard input}:821: Error: suffix or operands invalid for `mov' > {standard input}:822: Error: suffix or operands invalid for `mov' > {standard input}:864: Error: suffix or operands invalid for `mov' > {standard input}:865: Error: suffix or operands invalid for `mov' > {standard input}:867: Error: suffix or operands invalid for `mov' > {standard input}:879: Error: suffix or operands invalid for `mov' > make[2]: *** [process.o] Error 1 > make[2]: Leaving directory `/home/new_usr/src/linux-2.4.31/arch/i386/kernel' > make[1]: *** [_dir_arch/i386/kernel] Error 2 > make[1]: Leaving directory `/home/new_usr/src/linux-2.4.31' > make: *** [stamp-build] Error 2 > > This one as you can see, the compiler was set to gcc-3.4. but still no > sucess. > The /tmp and the build partitions have at least 1GB free space. > > Any other clues? This is driving me nuts. Google also provided no > answers on this topic. Well, I still suspect you are running out of space somewhere. The only place I've seen errors of the nature of the above - i.e. when you are receiving assembler source errors - is when you lack storage for the temporary files. I just noted in the gcc command that it's using the -pipe option, so this means that it's not using temp files but pipes instead of creating intermediate files. No doubt you have quite a bit of RAM - I do it with 80 Meg real memory and 256 Meg swap - but if it's not running out of space for the intermediate data, I have no idea what it could be.