bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: m68k gas bug with bsr or bra and absolute address


From: Alan Modra
Subject: Re: m68k gas bug with bsr or bra and absolute address
Date: Tue, 16 Oct 2001 23:56:15 +0930
User-agent: Mutt/1.3.17i

On Sat, Oct 13, 2001 at 06:03:11PM -0500, Andrew Pines wrote:
> 
> In both cases the replacement opcode appears to have the wrong mode
> set.  They should both be 111, but are both actually 110.  The proper
> values would be 0x4ef9 and 0x4eb9, respectively.

Thanks.  I'm applying the following to fix this.

gas/ChangeLog
        * config/tc-m68k.c (m68k_ip): Correct absolute jmp opcodes.

-- 
Alan Modra

Index: gas/config/tc-m68k.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-m68k.c,v
retrieving revision 1.31
diff -u -p -r1.31 tc-m68k.c
--- tc-m68k.c   2001/09/19 05:33:25     1.31
+++ tc-m68k.c   2001/10/16 14:23:30
@@ -2573,14 +2573,14 @@ m68k_ip (instring)
              if (adds (&opP->disp) == 0)
                {
                  if (the_ins.opcode[0] == 0x6000)      /* jbra */
-                   the_ins.opcode[0] = 0x4EF1;
+                   the_ins.opcode[0] = 0x4EF9;
                  else if (the_ins.opcode[0] == 0x6100) /* jbsr */
-                   the_ins.opcode[0] = 0x4EB1;
+                   the_ins.opcode[0] = 0x4EB9;
                  else                                  /* jCC */
                    {
                      the_ins.opcode[0] ^= 0x0100;
                      the_ins.opcode[0] |= 0x0006;
-                     addword (0x4EF1);
+                     addword (0x4EF9);
                    }
                  add_fix ('l', &opP->disp, 0, 0);
                  addword (0);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]