diff -rupN binutils-old/opcodes/arm-dis.c binutils-new/opcodes/arm-dis.c
--- binutils-old/opcodes/arm-dis.c	2013-03-11 12:09:33.000000000 +0100
+++ binutils-new/opcodes/arm-dis.c	2013-06-26 16:39:21.839222470 +0200
@@ -2011,7 +2011,7 @@ print_insn_coprocessor (bfd_vma pc,
 		case 'A':
 		  {
 		    int rn = (given >> 16) & 0xf;
-  		    bfd_vma offset = given & 0xff;
+  		    int offset = given & 0xff;
 
 		    func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
 
@@ -2503,7 +2503,7 @@ print_arm_address (bfd_vma pc, struct di
 {
   void *stream = info->stream;
   fprintf_ftype func = info->fprintf_func;
-  bfd_vma offset = 0;
+  int offset = 0;
 
   if (((given & 0x000f0000) == 0x000f0000)
       && ((given & 0x02000000) == 0))
@@ -3194,7 +3194,7 @@ print_insn_arm (bfd_vma pc, struct disas
                       if ((given & 0x004f0000) == 0x004f0000)
 			{
                           /* PC relative with immediate offset.  */
-			  bfd_vma offset = ((given & 0xf00) >> 4) | (given & 0xf);
+			  int offset = ((given & 0xf00) >> 4) | (given & 0xf);
 
 			  if (PRE_BIT_SET)
 			    {
@@ -4113,7 +4113,7 @@ print_insn_thumb32 (bfd_vma pc, struct d
 		  unsigned int i12 = (given & 0x00000fff);
 		  unsigned int i8  = (given & 0x000000ff);
 		  bfd_boolean writeback = FALSE, postind = FALSE;
-		  bfd_vma offset = 0;
+		  int offset = 0;
 
 		  func (stream, "[%s", arm_regnames[Rn]);
 		  if (U) /* 12-bit positive immediate offset.  */
