Messages in this thread | | | From | "Bill Goolsby" <> | Date | Mon, 27 Jul 1998 15:17:45 EST | Subject | Found it: Problem compiling 2.1.90 |
| |
> > Error: operands given don't match any known 386 instruction > > > > after command line: > > > > gcc -D__KERNEL__ -I/usr/src/linux/include -D__ASSEMBLY__ -D__SMP__ > > -traditional -c locks.S -o locks.o > > I suggest you check the archives for old messages about the problem, > compare the file with the one in the current kernel, and update your > binutils to the version recommended for the current kernel. > ___ > Trevor Johnson
I found the problem. The file locks.S has invalid instructions on lines 19 and 22. "btl %dl ..." and "btrl %dl ..." should be changed to "btl %edx ..." and "btrl %edx ...", respectively. See release notes for binutils 2.9.1.0.7 for more info (file "release.binutils-2.9.1.0.7").
After fixing this problem, I found another. The assembler "as86" was not present on my system (Redhat 5.1) so I had to download and compile bin86-0.4.tar.gz. After installing as86, the 2.1.90 kernel compiled correctly and booted.
Thanks to the people who helped out.
====================================================================== Bill Goolsby, MSEE, Senior Associate Emory University ^___^ Dept. of Cell Biology /_' '_> _ /\ /** 1648 Pierce Drive / ^ /_\ / \ / ** ** Atlanta, GA 30322 USA / / \/ / ** 404-727-6261, FAX 404-727-6256 Email: bill@cellbio.emory.edu
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |