[Date Prev][Date Next] [Chronological] [Thread] [Top]

[rtl] 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


--- [rtl] ---
For more information on Real-Time Linux see:
http://www.rtlinux.org/