This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, ARM] Fix disassembly of 32-bit immediates for VMOV, etc. on 64-bit hosts


Hi,

This patch fixes some testsuite failures where differences in the size of long lead to differences in disassembly on arm-none-eabi. This patch leads to the same behaviour as 32-bit hosts -- top-bit-set constants are output as signed rather than unsigned integers.

OK to apply?

Cheers,

Julian

ChangeLog (opcodes):

    * arm-dis.c (print_insn_neon): Disassemble 32-bit immediates as
    signed on 64-bit hosts.
Index: arm-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/arm-dis.c,v
retrieving revision 1.66
diff -c -p -r1.66 arm-dis.c
*** arm-dis.c	7 Jun 2006 14:08:19 -0000	1.66
--- arm-dis.c	9 Jun 2006 16:42:08 -0000
*************** print_insn_neon (struct disassemble_info
*** 2417,2423 ****
                                        value);
                                }
                              else
!                               func (stream, "#%ld\t; 0x%.8lx", value, value);
                              break;
  
                            case 64:
--- 2417,2425 ----
                                        value);
                                }
                              else
!                               func (stream, "#%ld\t; 0x%.8lx",
! 				(long) ((value & 0x80000000)
! 					? value | ~0xffffffffl : value), value);
                              break;
  
                            case 64:

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