------- Additional Comments From tg at mirbsd dot de  2010-01-03 16:44 -------
I think there may be a documentation or bug issue left:

You are testing for:

        ljmp    0x9090,0x90909090
        ljmp    0x9090:0x90909090
        jmp     0x9090,0x90909090
        jmp     0x9090:0x90909090

The correct writing however is:

AT&T:
        ljmp    $0x9090,$0x90909090

Intel old (which is what I use, since I *must* support older as):
        ljmp    0x9090,0x90909090

Intel new (which is used by other Intel assemblers):
        jmp far 0x9090:0x90909090

The latter is also backed by the documentation.


However, thanks for fixing my original issue. The fix is
already in Debian experimental, so this is just for con-
sistency and so that other people don’t stumble upon it.

My proposed least-intrusive fix is:
when 'jmp far' is encountered, check if we have indeed
both a segment and offset following, if yes handle it as
'ljmp', if not error out. (This may basically make 'jmp
far' a new opcode.)

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


http://sourceware.org/bugzilla/show_bug.cgi?id=10740

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to