Bug 768

Summary: Problem with gas in Redhat 5.2
Product: [Retired] Red Hat Linux Reporter: robfitz
Component: binutilsAssignee: David Lawrence <dkl>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
URL: http://www.compsoc.com/~bob/kernel-19990101.tgz
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-03-11 16:52:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description robfitz 1999-01-09 19:05:43 UTC
Hello

The url above is a kernel for The JOS Project (www.jos.org).
 There is a problem in which the above kernel it can't be
compiled using Redhat 5.2, it work's with Redhat 5.0 and
Caldera 1.1 (after upgrading binutils).

This is the output of 'make all' on Redhat 5.2:
$ make all
gcc -Wall -O2 -I ./include -c boot.s
gcc -Wall -O2 -I ./include -c start.s
start.s: Assembler messages:
start.s:17: Error: Value of -65472 too large for field of 2
bytes at 9
start.s:18: Error: Value of -65432 too large for field of 2
bytes at 14
make: *** [all] Error 1

The two lines giving the error are:
	lgdt	(gdtr - kaddress)
	lidt	(idtr - kaddress)

The output for 'as -al start.s' for Redhat 5.2 and Redhat
5.0 is below, as you can see the wrong opcodes are being
produced.

Redhat 5.2
  17 ???? 0F011640              lgdt    (gdtr - kaddress)
  17      00
  18 ???? 0F011E68              lidt    (idtr - kaddress)
  18      00

Redhat 5.0
  17 0006 670F0115              lgdt    (gdtr - kaddress)
  17      4800FFFF
  18 000e 670F011D              lidt    (idtr - kaddress)
  18      7000FFFF

After getting down binutils-2.9.1.tar.gz from
metalab.unc.edu/pub/gnu and installing, I was able to
compile the above kernel.

Robert Fitzsimons
robfitz