Hi,
My system runs kernel 2.6.12-12mk. I would like to try kernel 2.6.9, because the ClearCase and VMWare kernel modules don't work.
For the build of 2.6.9 I have used the .config from the running kernel and did "make oldconfig". The compilation, however, always fails in process.c:
CHK include/linux/version.h
make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
CHK include/linux/compile.h
CC arch/i386/kernel/process.o
{standard input}: Assembler messages:
{standard input}:790: Error: suffix or operands invalid for `mov'
{standard input}:791: Error: suffix or operands invalid for `mov'
{standard input}:995: Error: suffix or operands invalid for `mov'
{standard input}:996: Error: suffix or operands invalid for `mov'
{standard input}:1068: Error: suffix or operands invalid for `mov'
{standard input}:1069: Error: suffix or operands invalid for `mov'
{standard input}:1162: Error: suffix or operands invalid for `mov'
{standard input}:1163: Error: suffix or operands invalid for `mov'
{standard input}:1172: Error: suffix or operands invalid for `mov'
{standard input}:1184: Error: suffix or operands invalid for `mov'
make[1]: *** [arch/i386/kernel/process.o] Error 1
make: *** [arch/i386/kernel] Error 2
I have also tried it with gcc-2.95.3 from the compatibility package, but it doesn't change anything. With the mm1 and ac15 patches for 2.6.9 it also doesn't compile.
Any thoughts?
Regards,
Werner.
binutils
The assembler (the program which spits out these messages) is part of the binutils (usual filename: /usr/bin/as). Maybe you should try not only different versions of gcc, but also of binutils or the other programs listed in <linux-source-dir>/Documentation/Changes and the output of the version checker script <linux-source-dir>/scripts/ver_linux
Also "make[1]: `arch/i386/kernel/asm-offsets.s' is up to date." is suspicious, why is there an asm-offsets.s? This file is made during the build process, have you done "make clean" or "make mrproper" before applying your config/patches?
Thanks for the tip. I took bi
Thanks for the tip. I took binutils from kernel.org, but because the rpms aren't relocatable I had to take the source instead. It doesn't build, however. I tried it with versions 2.10.91.0.2, 2.12.90.0.12 and 2.16.91.0.3.
I did "make mrproper". The output was from the second run of make in order to make it shorter.
I ran accross linux-2.6-seg-5.patch, which updates process.c. After applying that the kernel builds.
Thanks for helping.
Werner.
err
Hi can u please explain it briefly that
how u solve this issue
include/asm/apic.h:47: warning: value computed is not used
{standard input}: Assembler messages:
{standard input}:607: Error: suffix or operands invalid for `mov'
{standard input}:630: Error: suffix or operands invalid for `mov'
{standard input}:1144: Error: suffix or operands invalid for `mov'
{standard input}:1145: Error: suffix or operands invalid for `mov'
{standard input}:1146: Error: suffix or operands invalid for `mov'
{standard input}:1147: Error: suffix or operands invalid for `mov'
make[1]: *** [arch/x86_64/kernel/process.o] Error 1
make: *** [arch/x86_64/kernel] Error 2
Akhilesh
piety
The new i386/x86_64 assemblers no longer accept instructions for moving
between a segment register and a 32bit memory location, i.e.,
movl (%eax),%ds
movl %ds,(%eax)
To generate instructions for moving between a segment register and a
16bit memory location without the 16bit operand size prefix, 0x66,
mov (%eax),%ds
mov %ds,(%eax)
should be used. It will work with both new and old assemblers. The
assembler starting from 2.16.90.0.1 will also support
movw (%eax),%ds
movw %ds,(%eax)
without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
available at
http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch
Actually this is very funny :-)
Perfect!!! The patch
Perfect!!!
The patch worked.
Thanks
Hi -- Need help
After applying the patch, the following error has been received.
Pleas let me know how to proceed....??
In file included from drivers/i2c/algos/i2c-algo-bit.c:31:
include/linux/i2c.h:58: error: array type has incomplete element type
include/linux/i2c.h:205: error: array type has incomplete element type
drivers/i2c/algos/i2c-algo-bit.c: In function âsendbytesâ:
drivers/i2c/algos/i2c-algo-bit.c:337: warning: pointer targets in initialization differ in signedness
drivers/i2c/algos/i2c-algo-bit.c: In function âreadbytesâ:
drivers/i2c/algos/i2c-algo-bit.c:370: warning: pointer targets in initialization differ in signedness
make[3]: *** [drivers/i2c/algos/i2c-algo-bit.o] Error 1
make[2]: *** [drivers/i2c/algos] Error 2
make[1]: *** [drivers/i2c] Error 2
make: *** [drivers] Error 2
[root@fedora linux]#
Thanks for the tip.
It worked for me.
Upgrade VMware to a newer
Upgrade VMware to a newer patch level. About ClearCase, dunno, sounds out of place.