This is the mail archive of the gas2@sourceware.cygnus.com mailing list for the gas2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: An old gas bug


> 
> | Hi,
> | 
> | This is a very old bug date back to 1.38.1. The reason no one really
> | cares is gcc won't generate that kind of code, i.e., jump out of range.
> | When some Linux people were working on X11R5, they used an Intel x86
> | branch/loop instruction, jcxz, which has only byte displacements in
> | the hand coded asm code. The AT&T as worked fine with expansion. But
> | gas 1.38.1 generated some bogus codes. I fixed the bug for them. I
> | think it is correct. The test case is very easy to produce. Please let
> | me know if you need one.
> 
> While it should be certainly fixed in the assembler, the X11 code
> should also replace the jcxz instruction with a compare against 0 and
> jmp sequence, since that is faster on anything but an original 386.
> See the optimization guides in the 486/pentium manuals.
> 
> 

After I told them that, they have then changed the code.

-- 
H.J. Lu
NYNEX Science and Technology, Inc.			hjl@nynexst.com