Jie Zhang <jie@codesourcery.com>
authorJulian Brown <julian@codesourcery.com>
Tue, 18 Oct 2011 14:41:55 +0000 (14:41 +0000)
committerJulian Brown <julian@codesourcery.com>
Tue, 18 Oct 2011 14:41:55 +0000 (14:41 +0000)
    Julian Brown  <julian@codesourcery.com>

    gas/
    * config/tc-arm.c (parse_shifter_operand): Fix handling
    of explicit rotation.
    (encode_arm_shifter_operand): Likewise.

    gas/testsuite/
    * gas/arm/adrl.d: Adjust.
    * gas/arm/immed2.d: New test.
    * gas/arm/immed2.s: New test.

    ld/testsuite/
    * ld-arm/cortex-a8-fix-b-plt.d: Adjust.
    * ld-arm/cortex-a8-fix-bcc-plt.d: Adjust.
    * ld-arm/cortex-a8-fix-bl-plt.d: Adjust.
    * ld-arm/cortex-a8-fix-bl-rel-plt.d: Adjust.
    * ld-arm/cortex-a8-fix-blx-plt.d: Adjust.
    * ld-arm/ifunc-1.dd: Adjust.
    * ld-arm/ifunc-2.dd: Adjust.
    * ld-arm/ifunc-3.dd: Adjust.
    * ld-arm/ifunc-4.dd: Adjust.
    * ld-arm/ifunc-5.dd: Adjust.
    * ld-arm/ifunc-6.dd: Adjust.
    * ld-arm/ifunc-7.dd: Adjust.
    * ld-arm/ifunc-8.dd: Adjust.
    * ld-arm/ifunc-9.dd: Adjust.
    * ld-arm/ifunc-10.dd: Adjust.
    * ld-arm/ifunc-14.dd: Adjust.
    * ld-arm/ifunc-15.dd: Adjust.
    * ld-arm/ifunc-16.dd: Adjust.

    opcodes/
    * arm-dis.c (print_insn_arm): Explicitly specify rotation
    if needed.

27 files changed:
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/adrl.d
gas/testsuite/gas/arm/immed2.d [new file with mode: 0644]
gas/testsuite/gas/arm/immed2.s [new file with mode: 0644]
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d
ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d
ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d
ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d
ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d
ld/testsuite/ld-arm/ifunc-1.dd
ld/testsuite/ld-arm/ifunc-10.dd
ld/testsuite/ld-arm/ifunc-14.dd
ld/testsuite/ld-arm/ifunc-15.dd
ld/testsuite/ld-arm/ifunc-16.dd
ld/testsuite/ld-arm/ifunc-2.dd
ld/testsuite/ld-arm/ifunc-3.dd
ld/testsuite/ld-arm/ifunc-4.dd
ld/testsuite/ld-arm/ifunc-5.dd
ld/testsuite/ld-arm/ifunc-6.dd
ld/testsuite/ld-arm/ifunc-7.dd
ld/testsuite/ld-arm/ifunc-8.dd
ld/testsuite/ld-arm/ifunc-9.dd
opcodes/ChangeLog
opcodes/arm-dis.c

index 4c43c77..1dbb3dc 100644 (file)
@@ -1,3 +1,10 @@
+2011-10-18  Jie Zhang  <jie@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * config/tc-arm.c (parse_shifter_operand): Fix handling of explicit
+       rotation.
+       (encode_arm_shifter_operand): Likewise.
+
 2011-10-13  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * config/tc-arm.c (check_ldr_r15_aligned): New.
index 8189c51..3871164 100644 (file)
@@ -4884,10 +4884,9 @@ parse_shifter_operand (char **str, int i)
          return FAIL;
        }
 
-      /* Convert to decoded value.  md_apply_fix will put it back.  */
-      inst.reloc.exp.X_add_number
-       = (((inst.reloc.exp.X_add_number << (32 - value))
-           | (inst.reloc.exp.X_add_number >> value)) & 0xffffffff);
+      /* Encode as specified.  */
+      inst.operands[i].imm = inst.reloc.exp.X_add_number | value << 7;
+      return SUCCESS;
     }
 
   inst.reloc.type = BFD_RELOC_ARM_IMMEDIATE;
@@ -7018,7 +7017,11 @@ encode_arm_shifter_operand (int i)
       encode_arm_shift (i);
     }
   else
-    inst.instruction |= INST_IMMEDIATE;
+    {
+      inst.instruction |= INST_IMMEDIATE;
+      if (inst.reloc.type != BFD_RELOC_ARM_IMMEDIATE)
+       inst.instruction |= inst.operands[i].imm;
+    }
 }
 
 /* Subroutine of encode_arm_addr_mode_2 and encode_arm_addr_mode_3.  */
index a162952..5de442f 100644 (file)
@@ -1,3 +1,10 @@
+2011-10-18  Jie Zhang  <jie@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * gas/arm/adrl.d: Adjust.
+       * gas/arm/immed2.d: New test.
+       * gas/arm/immed2.s: New test.
+
 2011-10-13  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * gas/arm/ldr-bad.s: New testcase.
index 3261311..6276e8d 100644 (file)
@@ -8,9 +8,9 @@
 Disassembly of section .text:
        ...
 0+2000 <.*> e24f0008   sub     r0, pc, #8
-0+2004 <.*> e2400c20   sub     r0, r0, #8192   ; 0x2000
+0+2004 <.*> e2400c20   sub     r0, r0, #32, 24 ; 0x2000
 0+2008 <.*> e28f0020   add     r0, pc, #32
-0+200c <.*> e2800c20   add     r0, r0, #8192   ; 0x2000
+0+200c <.*> e2800c20   add     r0, r0, #32, 24 ; 0x2000
 0+2010 <.*> e24f0018   sub     r0, pc, #24
 0+2014 <.*> e1a00000   nop                     ; \(mov r0, r0\)
 0+2018 <.*> e28f0008   add     r0, pc, #8
@@ -18,7 +18,7 @@ Disassembly of section .text:
 0+2020 <.*> 028f0000   addeq   r0, pc, #0
 0+2024 <.*> e1a00000   nop                     ; \(mov r0, r0\)
 0+2028 <.*> e24f0030   sub     r0, pc, #48     ; 0x30
-0+202c <.*> e2400c20   sub     r0, r0, #8192   ; 0x2000
+0+202c <.*> e2400c20   sub     r0, r0, #32, 24 ; 0x2000
 0+2030 <.*> e28f0c21   add     r0, pc, #8448   ; 0x2100
 0+2034 <.*> e1a00000   nop                     ; \(mov r0, r0\)
        ...
diff --git a/gas/testsuite/gas/arm/immed2.d b/gas/testsuite/gas/arm/immed2.d
new file mode 100644 (file)
index 0000000..49fa895
--- /dev/null
@@ -0,0 +1,8 @@
+# name: modified immediate constants
+# as:
+# objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0+0000 <[^>]+> b351029c ?      cmplt   r1, #156, 4     ; 0xc0000009
diff --git a/gas/testsuite/gas/arm/immed2.s b/gas/testsuite/gas/arm/immed2.s
new file mode 100644 (file)
index 0000000..0365236
--- /dev/null
@@ -0,0 +1,4 @@
+@      Tests for modified immediate constants with specified rotate
+       .text
+bar:
+       cmplt   r1, #0x9c, 4
index 69df1ad..6bf48c5 100644 (file)
@@ -1,3 +1,25 @@
+2011-10-18  Jie Zhang  <jie@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * ld-arm/cortex-a8-fix-b-plt.d: Adjust.
+       * ld-arm/cortex-a8-fix-bcc-plt.d: Adjust.
+       * ld-arm/cortex-a8-fix-bl-plt.d: Adjust.
+       * ld-arm/cortex-a8-fix-bl-rel-plt.d: Adjust.
+       * ld-arm/cortex-a8-fix-blx-plt.d: Adjust.
+       * ld-arm/ifunc-1.dd: Adjust.
+       * ld-arm/ifunc-2.dd: Adjust.
+       * ld-arm/ifunc-3.dd: Adjust.
+       * ld-arm/ifunc-4.dd: Adjust.
+       * ld-arm/ifunc-5.dd: Adjust.
+       * ld-arm/ifunc-6.dd: Adjust.
+       * ld-arm/ifunc-7.dd: Adjust.
+       * ld-arm/ifunc-8.dd: Adjust.
+       * ld-arm/ifunc-9.dd: Adjust.
+       * ld-arm/ifunc-10.dd: Adjust.
+       * ld-arm/ifunc-14.dd: Adjust.
+       * ld-arm/ifunc-15.dd: Adjust.
+       * ld-arm/ifunc-16.dd: Adjust.
+
 2011-10-14  Hans-Peter Nilsson  <hp@axis.com>
 
        * ld-cris/pic-gc-72.d: Adjust for dropping unused undefined
index 59efecb..4f1078d 100644 (file)
@@ -12,8 +12,8 @@ Disassembly of section \.plt:
     8010:      00000ffc        \.word  0x00000ffc
     8014:      4778            bx      pc
     8016:      46c0            nop                     ; \(mov r8, r8\)
-    8018:      e28fc600        add     ip, pc, #0
-    801c:      e28cca00        add     ip, ip, #0
+    8018:      e28fc600        add     ip, pc, #0, 12
+    801c:      e28cca00        add     ip, ip, #0, 20
     8020:      e5bcfff8        ldr     pc, \[ip, #4088\]!      ; 0xff8
 
 Disassembly of section \.text:
index 7862008..1e0cab2 100644 (file)
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
     8010:      00001004        \.word  0x00001004
     8014:      4778            bx      pc
     8016:      46c0            nop                     ; \(mov r8, r8\)
-    8018:      e28fc600        add     ip, pc, #0
+    8018:      e28fc600        add     ip, pc, #0, 12
     801c:      e28cca01        add     ip, ip, #4096   ; 0x1000
     8020:      e5bcf000        ldr     pc, \[ip, #0\]!
 
index 17cb9ac..ebb480f 100644 (file)
@@ -10,8 +10,8 @@ Disassembly of section \.plt:
     8008:      e08fe00e        add     lr, pc, lr
     800c:      e5bef008        ldr     pc, \[lr, #8\]!
     8010:      00000ffc        \.word  0x00000ffc
-    8014:      e28fc600        add     ip, pc, #0
-    8018:      e28cca00        add     ip, ip, #0
+    8014:      e28fc600        add     ip, pc, #0, 12
+    8018:      e28cca00        add     ip, ip, #0, 20
     801c:      e5bcfffc        ldr     pc, \[ip, #4092\]!      ; 0xffc
 
 Disassembly of section \.text:
index e885a17..f8a9c24 100644 (file)
@@ -10,8 +10,8 @@ Disassembly of section \.plt:
     8e08:      e08fe00e        add     lr, pc, lr
     8e0c:      e5bef008        ldr     pc, \[lr, #8\]!
     8e10:      0000827c        \.word  0x0000827c
-    8e14:      e28fc600        add     ip, pc, #0
-    8e18:      e28cca08        add     ip, ip, #32768  ; 0x8000
+    8e14:      e28fc600        add     ip, pc, #0, 12
+    8e18:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
     8e1c:      e5bcf27c        ldr     pc, \[ip, #636\]!       ; 0x27c
 
 Disassembly of section \.text:
index 17cb9ac..ebb480f 100644 (file)
@@ -10,8 +10,8 @@ Disassembly of section \.plt:
     8008:      e08fe00e        add     lr, pc, lr
     800c:      e5bef008        ldr     pc, \[lr, #8\]!
     8010:      00000ffc        \.word  0x00000ffc
-    8014:      e28fc600        add     ip, pc, #0
-    8018:      e28cca00        add     ip, ip, #0
+    8014:      e28fc600        add     ip, pc, #0, 12
+    8018:      e28cca00        add     ip, ip, #0, 20
     801c:      e5bcfffc        ldr     pc, \[ip, #4092\]!      ; 0xffc
 
 Disassembly of section \.text:
index de6d813..14b1482 100644 (file)
@@ -8,17 +8,17 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    9000:      e28fc600        add     ip, pc, #0
-    9004:      e28cca08        add     ip, ip, #32768  ; 0x8000
+    9000:      e28fc600        add     ip, pc, #0, 12
+    9004:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
     9008:      e5bcf004        ldr     pc, \[ip, #4\]!
 
 0000900c <f3>:
-    900c:      e28fc600        add     ip, pc, #0
+    900c:      e28fc600        add     ip, pc, #0, 12
     9010:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9014:      e5bcfffc        ldr     pc, \[ip, #4092\]!      ; 0xffc
 
 00009018 <f2>:
-    9018:      e28fc600        add     ip, pc, #0
+    9018:      e28fc600        add     ip, pc, #0, 12
     901c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9020:      e5bcfff4        ldr     pc, \[ip, #4084\]!      ; 0xff4
 
index f9bfd09..105b09b 100644 (file)
@@ -21,13 +21,13 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ atf2's .plt entry
 #------------------------------------------------------------------------------
-    9018:      e28fc600        add     ip, pc, #0
+    9018:      e28fc600        add     ip, pc, #0, 12
     901c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9020:      e5bcffec        ldr     pc, \[ip, #4076\]!      ; 0xfec
 #------------------------------------------------------------------------------
 #------ aaf4's .plt entry
 #------------------------------------------------------------------------------
-    9024:      e28fc600        add     ip, pc, #0
+    9024:      e28fc600        add     ip, pc, #0, 12
     9028:      e28cca07        add     ip, ip, #28672  ; 0x7000
     902c:      e5bcffe4        ldr     pc, \[ip, #4068\]!      ; 0xfe4
 #------------------------------------------------------------------------------
@@ -38,7 +38,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ ttf2's .plt entry
 #------------------------------------------------------------------------------
-    9034:      e28fc600        add     ip, pc, #0
+    9034:      e28fc600        add     ip, pc, #0, 12
     9038:      e28cca07        add     ip, ip, #28672  ; 0x7000
     903c:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 #------------------------------------------------------------------------------
@@ -49,19 +49,19 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ tbf2's .plt entry
 #------------------------------------------------------------------------------
-    9044:      e28fc600        add     ip, pc, #0
+    9044:      e28fc600        add     ip, pc, #0, 12
     9048:      e28cca07        add     ip, ip, #28672  ; 0x7000
     904c:      e5bcffcc        ldr     pc, \[ip, #4044\]!      ; 0xfcc
 #------------------------------------------------------------------------------
 #------ taf2's .plt entry
 #------------------------------------------------------------------------------
-    9050:      e28fc600        add     ip, pc, #0
+    9050:      e28fc600        add     ip, pc, #0, 12
     9054:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9058:      e5bcffc4        ldr     pc, \[ip, #4036\]!      ; 0xfc4
 #------------------------------------------------------------------------------
 #------ aaf2's .plt entry
 #------------------------------------------------------------------------------
-    905c:      e28fc600        add     ip, pc, #0
+    905c:      e28fc600        add     ip, pc, #0, 12
     9060:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9064:      e5bcffbc        ldr     pc, \[ip, #4028\]!      ; 0xfbc
 #------------------------------------------------------------------------------
@@ -72,7 +72,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ abf4's .plt entry
 #------------------------------------------------------------------------------
-    906c:      e28fc600        add     ip, pc, #0
+    906c:      e28fc600        add     ip, pc, #0, 12
     9070:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9074:      e5bcffb0        ldr     pc, \[ip, #4016\]!      ; 0xfb0
 #------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ tbf4's .plt entry
 #------------------------------------------------------------------------------
-    907c:      e28fc600        add     ip, pc, #0
+    907c:      e28fc600        add     ip, pc, #0, 12
     9080:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9084:      e5bcffa4        ldr     pc, \[ip, #4004\]!      ; 0xfa4
 #------------------------------------------------------------------------------
@@ -94,7 +94,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ ttf4's .plt entry
 #------------------------------------------------------------------------------
-    908c:      e28fc600        add     ip, pc, #0
+    908c:      e28fc600        add     ip, pc, #0, 12
     9090:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9094:      e5bcff98        ldr     pc, \[ip, #3992\]!      ; 0xf98
 #------------------------------------------------------------------------------
@@ -105,13 +105,13 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ atf4's .plt entry
 #------------------------------------------------------------------------------
-    909c:      e28fc600        add     ip, pc, #0
+    909c:      e28fc600        add     ip, pc, #0, 12
     90a0:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90a4:      e5bcff8c        ldr     pc, \[ip, #3980\]!      ; 0xf8c
 #------------------------------------------------------------------------------
 #------ taf4's .plt entry
 #------------------------------------------------------------------------------
-    90a8:      e28fc600        add     ip, pc, #0
+    90a8:      e28fc600        add     ip, pc, #0, 12
     90ac:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90b0:      e5bcff84        ldr     pc, \[ip, #3972\]!      ; 0xf84
 #------------------------------------------------------------------------------
@@ -122,7 +122,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ abf2's .plt entry
 #------------------------------------------------------------------------------
-    90b8:      e28fc600        add     ip, pc, #0
+    90b8:      e28fc600        add     ip, pc, #0, 12
     90bc:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90c0:      e5bcff78        ldr     pc, \[ip, #3960\]!      ; 0xf78
 
@@ -132,7 +132,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ aaf1's .iplt entry
 #------------------------------------------------------------------------------
-    90c4:      e28fc600        add     ip, pc, #0
+    90c4:      e28fc600        add     ip, pc, #0, 12
     90c8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90cc:      e5bcff70        ldr     pc, \[ip, #3952\]!      ; 0xf70
 #------------------------------------------------------------------------------
@@ -143,7 +143,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ atf1's .iplt entry
 #------------------------------------------------------------------------------
-    90d4:      e28fc600        add     ip, pc, #0
+    90d4:      e28fc600        add     ip, pc, #0, 12
     90d8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90dc:      e5bcff64        ldr     pc, \[ip, #3940\]!      ; 0xf64
 #------------------------------------------------------------------------------
@@ -154,13 +154,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    90e4:      e28fc600        add     ip, pc, #0
+    90e4:      e28fc600        add     ip, pc, #0, 12
     90e8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90ec:      e5bcff58        ldr     pc, \[ip, #3928\]!      ; 0xf58
 #------------------------------------------------------------------------------
 #------ taf1's .iplt entry
 #------------------------------------------------------------------------------
-    90f0:      e28fc600        add     ip, pc, #0
+    90f0:      e28fc600        add     ip, pc, #0, 12
     90f4:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90f8:      e5bcff50        ldr     pc, \[ip, #3920\]!      ; 0xf50
 #------------------------------------------------------------------------------
@@ -171,7 +171,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    9100:      e28fc600        add     ip, pc, #0
+    9100:      e28fc600        add     ip, pc, #0, 12
     9104:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9108:      e5bcff44        ldr     pc, \[ip, #3908\]!      ; 0xf44
 #------------------------------------------------------------------------------
@@ -182,7 +182,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    9110:      e28fc600        add     ip, pc, #0
+    9110:      e28fc600        add     ip, pc, #0, 12
     9114:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9118:      e5bcff38        ldr     pc, \[ip, #3896\]!      ; 0xf38
 #------------------------------------------------------------------------------
@@ -192,7 +192,7 @@ Disassembly of section \.iplt:
     911e:      46c0            nop                     ; \(mov r8, r8\)
 
 00009120 <atf3>:
-    9120:      e28fc600        add     ip, pc, #0
+    9120:      e28fc600        add     ip, pc, #0, 12
     9124:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9128:      e5bcff2c        ldr     pc, \[ip, #3884\]!      ; 0xf2c
 #------------------------------------------------------------------------------
@@ -202,7 +202,7 @@ Disassembly of section \.iplt:
     912e:      46c0            nop                     ; \(mov r8, r8\)
 
 00009130 <abf3>:
-    9130:      e28fc600        add     ip, pc, #0
+    9130:      e28fc600        add     ip, pc, #0, 12
     9134:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9138:      e5bcff20        ldr     pc, \[ip, #3872\]!      ; 0xf20
 #------------------------------------------------------------------------------
@@ -212,7 +212,7 @@ Disassembly of section \.iplt:
     913e:      46c0            nop                     ; \(mov r8, r8\)
 
 00009140 <ttf3>:
-    9140:      e28fc600        add     ip, pc, #0
+    9140:      e28fc600        add     ip, pc, #0, 12
     9144:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9148:      e5bcff14        ldr     pc, \[ip, #3860\]!      ; 0xf14
 #------------------------------------------------------------------------------
@@ -222,17 +222,17 @@ Disassembly of section \.iplt:
     914e:      46c0            nop                     ; \(mov r8, r8\)
 
 00009150 <tbf3>:
-    9150:      e28fc600        add     ip, pc, #0
+    9150:      e28fc600        add     ip, pc, #0, 12
     9154:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9158:      e5bcff08        ldr     pc, \[ip, #3848\]!      ; 0xf08
 
 0000915c <taf3>:
-    915c:      e28fc600        add     ip, pc, #0
+    915c:      e28fc600        add     ip, pc, #0, 12
     9160:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9164:      e5bcff00        ldr     pc, \[ip, #3840\]!      ; 0xf00
 
 00009168 <aaf3>:
-    9168:      e28fc600        add     ip, pc, #0
+    9168:      e28fc600        add     ip, pc, #0, 12
     916c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9170:      e5bcfef8        ldr     pc, \[ip, #3832\]!      ; 0xef8
 
index 8df338a..861f687 100644 (file)
@@ -16,13 +16,13 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ f2t's .plt entry
 #------------------------------------------------------------------------------
-    9014:      e28fc600        add     ip, pc, #0
+    9014:      e28fc600        add     ip, pc, #0, 12
     9018:      e28cca07        add     ip, ip, #28672  ; 0x7000
     901c:      e5bcfff0        ldr     pc, \[ip, #4080\]!      ; 0xff0
 #------------------------------------------------------------------------------
 #------ f2's .plt entry
 #------------------------------------------------------------------------------
-    9020:      e28fc600        add     ip, pc, #0
+    9020:      e28fc600        add     ip, pc, #0, 12
     9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9028:      e5bcffe8        ldr     pc, \[ip, #4072\]!      ; 0xfe8
 
@@ -32,23 +32,23 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    902c:      e28fc600        add     ip, pc, #0
+    902c:      e28fc600        add     ip, pc, #0, 12
     9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9034:      e5bcffe0        ldr     pc, \[ip, #4064\]!      ; 0xfe0
 #------------------------------------------------------------------------------
 #------ f1t's .iplt entry
 #------------------------------------------------------------------------------
-    9038:      e28fc600        add     ip, pc, #0
+    9038:      e28fc600        add     ip, pc, #0, 12
     903c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9040:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 
 00009044 <f3>:
-    9044:      e28fc600        add     ip, pc, #0
+    9044:      e28fc600        add     ip, pc, #0, 12
     9048:      e28cca07        add     ip, ip, #28672  ; 0x7000
     904c:      e5bcffd0        ldr     pc, \[ip, #4048\]!      ; 0xfd0
 
 00009050 <f3t>:
-    9050:      e28fc600        add     ip, pc, #0
+    9050:      e28fc600        add     ip, pc, #0, 12
     9054:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9058:      e5bcffc8        ldr     pc, \[ip, #4040\]!      ; 0xfc8
 
index 886d355..d764841 100644 (file)
@@ -16,13 +16,13 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ f2t's .plt entry
 #------------------------------------------------------------------------------
-    9014:      e28fc600        add     ip, pc, #0
+    9014:      e28fc600        add     ip, pc, #0, 12
     9018:      e28cca07        add     ip, ip, #28672  ; 0x7000
     901c:      e5bcfff0        ldr     pc, \[ip, #4080\]!      ; 0xff0
 #------------------------------------------------------------------------------
 #------ f2's .plt entry
 #------------------------------------------------------------------------------
-    9020:      e28fc600        add     ip, pc, #0
+    9020:      e28fc600        add     ip, pc, #0, 12
     9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9028:      e5bcffe8        ldr     pc, \[ip, #4072\]!      ; 0xfe8
 
@@ -32,23 +32,23 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    902c:      e28fc600        add     ip, pc, #0
+    902c:      e28fc600        add     ip, pc, #0, 12
     9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9034:      e5bcffe0        ldr     pc, \[ip, #4064\]!      ; 0xfe0
 #------------------------------------------------------------------------------
 #------ f1t's .iplt entry
 #------------------------------------------------------------------------------
-    9038:      e28fc600        add     ip, pc, #0
+    9038:      e28fc600        add     ip, pc, #0, 12
     903c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9040:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 
 00009044 <f3>:
-    9044:      e28fc600        add     ip, pc, #0
+    9044:      e28fc600        add     ip, pc, #0, 12
     9048:      e28cca07        add     ip, ip, #28672  ; 0x7000
     904c:      e5bcffd0        ldr     pc, \[ip, #4048\]!      ; 0xfd0
 
 00009050 <f3t>:
-    9050:      e28fc600        add     ip, pc, #0
+    9050:      e28fc600        add     ip, pc, #0, 12
     9054:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9058:      e5bcffc8        ldr     pc, \[ip, #4040\]!      ; 0xfc8
 
index d3b39bd..16c2a97 100644 (file)
@@ -8,33 +8,33 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    9000:      e28fc600        add     ip, pc, #0
-    9004:      e28cca08        add     ip, ip, #32768  ; 0x8000
+    9000:      e28fc600        add     ip, pc, #0, 12
+    9004:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
     9008:      e5bcf004        ldr     pc, \[ip, #4\]!
 #------------------------------------------------------------------------------
 #------ f1t's .iplt entry
 #------------------------------------------------------------------------------
-    900c:      e28fc600        add     ip, pc, #0
+    900c:      e28fc600        add     ip, pc, #0, 12
     9010:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9014:      e5bcfffc        ldr     pc, \[ip, #4092\]!      ; 0xffc
 
 00009018 <f2t>:
-    9018:      e28fc600        add     ip, pc, #0
+    9018:      e28fc600        add     ip, pc, #0, 12
     901c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9020:      e5bcfff4        ldr     pc, \[ip, #4084\]!      ; 0xff4
 
 00009024 <f3>:
-    9024:      e28fc600        add     ip, pc, #0
+    9024:      e28fc600        add     ip, pc, #0, 12
     9028:      e28cca07        add     ip, ip, #28672  ; 0x7000
     902c:      e5bcffec        ldr     pc, \[ip, #4076\]!      ; 0xfec
 
 00009030 <f2>:
-    9030:      e28fc600        add     ip, pc, #0
+    9030:      e28fc600        add     ip, pc, #0, 12
     9034:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9038:      e5bcffe4        ldr     pc, \[ip, #4068\]!      ; 0xfe4
 
 0000903c <f3t>:
-    903c:      e28fc600        add     ip, pc, #0
+    903c:      e28fc600        add     ip, pc, #0, 12
     9040:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9044:      e5bcffdc        ldr     pc, \[ip, #4060\]!      ; 0xfdc
 
index 994069c..f6d57fa 100644 (file)
@@ -8,13 +8,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    9000:      e28fc600        add     ip, pc, #0
-    9004:      e28cca08        add     ip, ip, #32768  ; 0x8000
+    9000:      e28fc600        add     ip, pc, #0, 12
+    9004:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
     9008:      e5bcf004        ldr     pc, \[ip, #4\]!
 #------------------------------------------------------------------------------
 #------ f2's .iplt entry
 #------------------------------------------------------------------------------
-    900c:      e28fc600        add     ip, pc, #0
+    900c:      e28fc600        add     ip, pc, #0, 12
     9010:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9014:      e5bcfffc        ldr     pc, \[ip, #4092\]!      ; 0xffc
 #------------------------------------------------------------------------------
@@ -25,7 +25,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f3's .iplt entry
 #------------------------------------------------------------------------------
-    901c:      e28fc600        add     ip, pc, #0
+    901c:      e28fc600        add     ip, pc, #0, 12
     9020:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9024:      e5bcfff0        ldr     pc, \[ip, #4080\]!      ; 0xff0
 #------------------------------------------------------------------------------
@@ -36,7 +36,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f4's .iplt entry
 #------------------------------------------------------------------------------
-    902c:      e28fc600        add     ip, pc, #0
+    902c:      e28fc600        add     ip, pc, #0, 12
     9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9034:      e5bcffe4        ldr     pc, \[ip, #4068\]!      ; 0xfe4
 #------------------------------------------------------------------------------
@@ -46,12 +46,12 @@ Disassembly of section \.iplt:
     903a:      46c0            nop                     ; \(mov r8, r8\)
 
 0000903c <f7>:
-    903c:      e28fc600        add     ip, pc, #0
+    903c:      e28fc600        add     ip, pc, #0, 12
     9040:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9044:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 
 00009048 <f5>:
-    9048:      e28fc600        add     ip, pc, #0
+    9048:      e28fc600        add     ip, pc, #0, 12
     904c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9050:      e5bcffd0        ldr     pc, \[ip, #4048\]!      ; 0xfd0
 #------------------------------------------------------------------------------
@@ -61,12 +61,12 @@ Disassembly of section \.iplt:
     9056:      46c0            nop                     ; \(mov r8, r8\)
 
 00009058 <f8>:
-    9058:      e28fc600        add     ip, pc, #0
+    9058:      e28fc600        add     ip, pc, #0, 12
     905c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9060:      e5bcffc4        ldr     pc, \[ip, #4036\]!      ; 0xfc4
 
 00009064 <f6>:
-    9064:      e28fc600        add     ip, pc, #0
+    9064:      e28fc600        add     ip, pc, #0, 12
     9068:      e28cca07        add     ip, ip, #28672  ; 0x7000
     906c:      e5bcffbc        ldr     pc, \[ip, #4028\]!      ; 0xfbc
 
index 824d516..a1fb37a 100644 (file)
@@ -16,7 +16,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ f2's .plt entry
 #------------------------------------------------------------------------------
-    9014:      e28fc600        add     ip, pc, #0
+    9014:      e28fc600        add     ip, pc, #0, 12
     9018:      e28cca07        add     ip, ip, #28672  ; 0x7000
     901c:      e5bcfff0        ldr     pc, \[ip, #4080\]!      ; 0xff0
 
@@ -26,19 +26,19 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    9020:      e28fc600        add     ip, pc, #0
+    9020:      e28fc600        add     ip, pc, #0, 12
     9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9028:      e5bcffe8        ldr     pc, \[ip, #4072\]!      ; 0xfe8
 #------------------------------------------------------------------------------
 #------ f3's .iplt entry
 #------------------------------------------------------------------------------
-    902c:      e28fc600        add     ip, pc, #0
+    902c:      e28fc600        add     ip, pc, #0, 12
     9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9034:      e5bcffe0        ldr     pc, \[ip, #4064\]!      ; 0xfe0
 #------------------------------------------------------------------------------
 #------ f4's .iplt entry
 #------------------------------------------------------------------------------
-    9038:      e28fc600        add     ip, pc, #0
+    9038:      e28fc600        add     ip, pc, #0, 12
     903c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9040:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 
index afac397..f5a4d91 100644 (file)
@@ -21,7 +21,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ atf2's .plt entry
 #------------------------------------------------------------------------------
-    9018:      e28fc600        add     ip, pc, #0
+    9018:      e28fc600        add     ip, pc, #0, 12
     901c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9020:      e5bcffec        ldr     pc, \[ip, #4076\]!      ; 0xfec
 #------------------------------------------------------------------------------
@@ -32,7 +32,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ ttf2's .plt entry
 #------------------------------------------------------------------------------
-    9028:      e28fc600        add     ip, pc, #0
+    9028:      e28fc600        add     ip, pc, #0, 12
     902c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9030:      e5bcffe0        ldr     pc, \[ip, #4064\]!      ; 0xfe0
 #------------------------------------------------------------------------------
@@ -43,19 +43,19 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ tbf2's .plt entry
 #------------------------------------------------------------------------------
-    9038:      e28fc600        add     ip, pc, #0
+    9038:      e28fc600        add     ip, pc, #0, 12
     903c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9040:      e5bcffd4        ldr     pc, \[ip, #4052\]!      ; 0xfd4
 #------------------------------------------------------------------------------
 #------ taf2's .plt entry
 #------------------------------------------------------------------------------
-    9044:      e28fc600        add     ip, pc, #0
+    9044:      e28fc600        add     ip, pc, #0, 12
     9048:      e28cca07        add     ip, ip, #28672  ; 0x7000
     904c:      e5bcffcc        ldr     pc, \[ip, #4044\]!      ; 0xfcc
 #------------------------------------------------------------------------------
 #------ aaf2's .plt entry
 #------------------------------------------------------------------------------
-    9050:      e28fc600        add     ip, pc, #0
+    9050:      e28fc600        add     ip, pc, #0, 12
     9054:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9058:      e5bcffc4        ldr     pc, \[ip, #4036\]!      ; 0xfc4
 #------------------------------------------------------------------------------
@@ -66,7 +66,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ abf2's .plt entry
 #------------------------------------------------------------------------------
-    9060:      e28fc600        add     ip, pc, #0
+    9060:      e28fc600        add     ip, pc, #0, 12
     9064:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9068:      e5bcffb8        ldr     pc, \[ip, #4024\]!      ; 0xfb8
 
@@ -76,7 +76,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ aaf1's .iplt entry
 #------------------------------------------------------------------------------
-    906c:      e28fc600        add     ip, pc, #0
+    906c:      e28fc600        add     ip, pc, #0, 12
     9070:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9074:      e5bcffb0        ldr     pc, \[ip, #4016\]!      ; 0xfb0
 #------------------------------------------------------------------------------
@@ -87,7 +87,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ atf1's .iplt entry
 #------------------------------------------------------------------------------
-    907c:      e28fc600        add     ip, pc, #0
+    907c:      e28fc600        add     ip, pc, #0, 12
     9080:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9084:      e5bcffa4        ldr     pc, \[ip, #4004\]!      ; 0xfa4
 #------------------------------------------------------------------------------
@@ -98,13 +98,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    908c:      e28fc600        add     ip, pc, #0
+    908c:      e28fc600        add     ip, pc, #0, 12
     9090:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9094:      e5bcff98        ldr     pc, \[ip, #3992\]!      ; 0xf98
 #------------------------------------------------------------------------------
 #------ taf1's .iplt entry
 #------------------------------------------------------------------------------
-    9098:      e28fc600        add     ip, pc, #0
+    9098:      e28fc600        add     ip, pc, #0, 12
     909c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90a0:      e5bcff90        ldr     pc, \[ip, #3984\]!      ; 0xf90
 #------------------------------------------------------------------------------
@@ -115,7 +115,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    90a8:      e28fc600        add     ip, pc, #0
+    90a8:      e28fc600        add     ip, pc, #0, 12
     90ac:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90b0:      e5bcff84        ldr     pc, \[ip, #3972\]!      ; 0xf84
 #------------------------------------------------------------------------------
@@ -126,13 +126,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    90b8:      e28fc600        add     ip, pc, #0
+    90b8:      e28fc600        add     ip, pc, #0, 12
     90bc:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90c0:      e5bcff78        ldr     pc, \[ip, #3960\]!      ; 0xf78
 #------------------------------------------------------------------------------
 #------ aaf4's .iplt entry
 #------------------------------------------------------------------------------
-    90c4:      e28fc600        add     ip, pc, #0
+    90c4:      e28fc600        add     ip, pc, #0, 12
     90c8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90cc:      e5bcff70        ldr     pc, \[ip, #3952\]!      ; 0xf70
 #------------------------------------------------------------------------------
@@ -143,7 +143,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ atf3's .iplt entry
 #------------------------------------------------------------------------------
-    90d4:      e28fc600        add     ip, pc, #0
+    90d4:      e28fc600        add     ip, pc, #0, 12
     90d8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90dc:      e5bcff64        ldr     pc, \[ip, #3940\]!      ; 0xf64
 #------------------------------------------------------------------------------
@@ -154,7 +154,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ abf3's .iplt entry
 #------------------------------------------------------------------------------
-    90e4:      e28fc600        add     ip, pc, #0
+    90e4:      e28fc600        add     ip, pc, #0, 12
     90e8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90ec:      e5bcff58        ldr     pc, \[ip, #3928\]!      ; 0xf58
 #------------------------------------------------------------------------------
@@ -165,7 +165,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ ttf3's .iplt entry
 #------------------------------------------------------------------------------
-    90f4:      e28fc600        add     ip, pc, #0
+    90f4:      e28fc600        add     ip, pc, #0, 12
     90f8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90fc:      e5bcff4c        ldr     pc, \[ip, #3916\]!      ; 0xf4c
 #------------------------------------------------------------------------------
@@ -176,13 +176,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    9104:      e28fc600        add     ip, pc, #0
+    9104:      e28fc600        add     ip, pc, #0, 12
     9108:      e28cca07        add     ip, ip, #28672  ; 0x7000
     910c:      e5bcff40        ldr     pc, \[ip, #3904\]!      ; 0xf40
 #------------------------------------------------------------------------------
 #------ taf3's .iplt entry
 #------------------------------------------------------------------------------
-    9110:      e28fc600        add     ip, pc, #0
+    9110:      e28fc600        add     ip, pc, #0, 12
     9114:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9118:      e5bcff38        ldr     pc, \[ip, #3896\]!      ; 0xf38
 #------------------------------------------------------------------------------
@@ -193,7 +193,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ abf4's .iplt entry
 #------------------------------------------------------------------------------
-    9120:      e28fc600        add     ip, pc, #0
+    9120:      e28fc600        add     ip, pc, #0, 12
     9124:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9128:      e5bcff2c        ldr     pc, \[ip, #3884\]!      ; 0xf2c
 #------------------------------------------------------------------------------
@@ -204,7 +204,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ tbf4's .iplt entry
 #------------------------------------------------------------------------------
-    9130:      e28fc600        add     ip, pc, #0
+    9130:      e28fc600        add     ip, pc, #0, 12
     9134:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9138:      e5bcff20        ldr     pc, \[ip, #3872\]!      ; 0xf20
 #------------------------------------------------------------------------------
@@ -215,13 +215,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ ttf4's .iplt entry
 #------------------------------------------------------------------------------
-    9140:      e28fc600        add     ip, pc, #0
+    9140:      e28fc600        add     ip, pc, #0, 12
     9144:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9148:      e5bcff14        ldr     pc, \[ip, #3860\]!      ; 0xf14
 #------------------------------------------------------------------------------
 #------ aaf3's .iplt entry
 #------------------------------------------------------------------------------
-    914c:      e28fc600        add     ip, pc, #0
+    914c:      e28fc600        add     ip, pc, #0, 12
     9150:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9154:      e5bcff0c        ldr     pc, \[ip, #3852\]!      ; 0xf0c
 #------------------------------------------------------------------------------
@@ -232,13 +232,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ atf4's .iplt entry
 #------------------------------------------------------------------------------
-    915c:      e28fc600        add     ip, pc, #0
+    915c:      e28fc600        add     ip, pc, #0, 12
     9160:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9164:      e5bcff00        ldr     pc, \[ip, #3840\]!      ; 0xf00
 #------------------------------------------------------------------------------
 #------ taf4's .iplt entry
 #------------------------------------------------------------------------------
-    9168:      e28fc600        add     ip, pc, #0
+    9168:      e28fc600        add     ip, pc, #0, 12
     916c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9170:      e5bcfef8        ldr     pc, \[ip, #3832\]!      ; 0xef8
 
index 0fe8255..b0bf597 100644 (file)
@@ -8,19 +8,19 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    9000:      e28fc600        add     ip, pc, #0
-    9004:      e28cca08        add     ip, ip, #32768  ; 0x8000
+    9000:      e28fc600        add     ip, pc, #0, 12
+    9004:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
     9008:      e5bcf004        ldr     pc, \[ip, #4\]!
 #------------------------------------------------------------------------------
 #------ f3's .iplt entry
 #------------------------------------------------------------------------------
-    900c:      e28fc600        add     ip, pc, #0
+    900c:      e28fc600        add     ip, pc, #0, 12
     9010:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9014:      e5bcfffc        ldr     pc, \[ip, #4092\]!      ; 0xffc
 #------------------------------------------------------------------------------
 #------ f2's .iplt entry
 #------------------------------------------------------------------------------
-    9018:      e28fc600        add     ip, pc, #0
+    9018:      e28fc600        add     ip, pc, #0, 12
     901c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9020:      e5bcfff4        ldr     pc, \[ip, #4084\]!      ; 0xff4
 
index c78c8d4..3c9cbd5 100644 (file)
@@ -13,13 +13,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f3's .iplt entry
 #------------------------------------------------------------------------------
-    9004:      e28fc600        add     ip, pc, #0
-    9008:      e28cca08        add     ip, ip, #32768  ; 0x8000
+    9004:      e28fc600        add     ip, pc, #0, 12
+    9008:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
     900c:      e5bcf000        ldr     pc, \[ip, #0\]!
 #------------------------------------------------------------------------------
 #------ f2's .iplt entry
 #------------------------------------------------------------------------------
-    9010:      e28fc600        add     ip, pc, #0
+    9010:      e28fc600        add     ip, pc, #0, 12
     9014:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9018:      e5bcfff8        ldr     pc, \[ip, #4088\]!      ; 0xff8
 #------------------------------------------------------------------------------
@@ -30,13 +30,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f4's .iplt entry
 #------------------------------------------------------------------------------
-    9020:      e28fc600        add     ip, pc, #0
+    9020:      e28fc600        add     ip, pc, #0, 12
     9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9028:      e5bcffec        ldr     pc, \[ip, #4076\]!      ; 0xfec
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    902c:      e28fc600        add     ip, pc, #0
+    902c:      e28fc600        add     ip, pc, #0, 12
     9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9034:      e5bcffe4        ldr     pc, \[ip, #4068\]!      ; 0xfe4
 
index 5db88fb..e9a9681 100644 (file)
@@ -16,13 +16,13 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ f2's .plt entry
 #------------------------------------------------------------------------------
-    9014:      e28fc600        add     ip, pc, #0
+    9014:      e28fc600        add     ip, pc, #0, 12
     9018:      e28cca07        add     ip, ip, #28672  ; 0x7000
     901c:      e5bcfff0        ldr     pc, \[ip, #4080\]!      ; 0xff0
 #------------------------------------------------------------------------------
 #------ f4's .plt entry
 #------------------------------------------------------------------------------
-    9020:      e28fc600        add     ip, pc, #0
+    9020:      e28fc600        add     ip, pc, #0, 12
     9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9028:      e5bcffe8        ldr     pc, \[ip, #4072\]!      ; 0xfe8
 
@@ -32,13 +32,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    902c:      e28fc600        add     ip, pc, #0
+    902c:      e28fc600        add     ip, pc, #0, 12
     9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9034:      e5bcffe0        ldr     pc, \[ip, #4064\]!      ; 0xfe0
 #------------------------------------------------------------------------------
 #------ f3's .iplt entry
 #------------------------------------------------------------------------------
-    9038:      e28fc600        add     ip, pc, #0
+    9038:      e28fc600        add     ip, pc, #0, 12
     903c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9040:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 
index f14ab34..5b255e2 100644 (file)
@@ -21,13 +21,13 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ atf2's .plt entry
 #------------------------------------------------------------------------------
-    9018:      e28fc600        add     ip, pc, #0
+    9018:      e28fc600        add     ip, pc, #0, 12
     901c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9020:      e5bcffec        ldr     pc, \[ip, #4076\]!      ; 0xfec
 #------------------------------------------------------------------------------
 #------ aaf4's .plt entry
 #------------------------------------------------------------------------------
-    9024:      e28fc600        add     ip, pc, #0
+    9024:      e28fc600        add     ip, pc, #0, 12
     9028:      e28cca07        add     ip, ip, #28672  ; 0x7000
     902c:      e5bcffe4        ldr     pc, \[ip, #4068\]!      ; 0xfe4
 #------------------------------------------------------------------------------
@@ -38,7 +38,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ ttf2's .plt entry
 #------------------------------------------------------------------------------
-    9034:      e28fc600        add     ip, pc, #0
+    9034:      e28fc600        add     ip, pc, #0, 12
     9038:      e28cca07        add     ip, ip, #28672  ; 0x7000
     903c:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 #------------------------------------------------------------------------------
@@ -49,19 +49,19 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ tbf2's .plt entry
 #------------------------------------------------------------------------------
-    9044:      e28fc600        add     ip, pc, #0
+    9044:      e28fc600        add     ip, pc, #0, 12
     9048:      e28cca07        add     ip, ip, #28672  ; 0x7000
     904c:      e5bcffcc        ldr     pc, \[ip, #4044\]!      ; 0xfcc
 #------------------------------------------------------------------------------
 #------ taf2's .plt entry
 #------------------------------------------------------------------------------
-    9050:      e28fc600        add     ip, pc, #0
+    9050:      e28fc600        add     ip, pc, #0, 12
     9054:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9058:      e5bcffc4        ldr     pc, \[ip, #4036\]!      ; 0xfc4
 #------------------------------------------------------------------------------
 #------ aaf2's .plt entry
 #------------------------------------------------------------------------------
-    905c:      e28fc600        add     ip, pc, #0
+    905c:      e28fc600        add     ip, pc, #0, 12
     9060:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9064:      e5bcffbc        ldr     pc, \[ip, #4028\]!      ; 0xfbc
 #------------------------------------------------------------------------------
@@ -72,7 +72,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ abf4's .plt entry
 #------------------------------------------------------------------------------
-    906c:      e28fc600        add     ip, pc, #0
+    906c:      e28fc600        add     ip, pc, #0, 12
     9070:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9074:      e5bcffb0        ldr     pc, \[ip, #4016\]!      ; 0xfb0
 #------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ tbf4's .plt entry
 #------------------------------------------------------------------------------
-    907c:      e28fc600        add     ip, pc, #0
+    907c:      e28fc600        add     ip, pc, #0, 12
     9080:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9084:      e5bcffa4        ldr     pc, \[ip, #4004\]!      ; 0xfa4
 #------------------------------------------------------------------------------
@@ -94,7 +94,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ ttf4's .plt entry
 #------------------------------------------------------------------------------
-    908c:      e28fc600        add     ip, pc, #0
+    908c:      e28fc600        add     ip, pc, #0, 12
     9090:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9094:      e5bcff98        ldr     pc, \[ip, #3992\]!      ; 0xf98
 #------------------------------------------------------------------------------
@@ -105,13 +105,13 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ atf4's .plt entry
 #------------------------------------------------------------------------------
-    909c:      e28fc600        add     ip, pc, #0
+    909c:      e28fc600        add     ip, pc, #0, 12
     90a0:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90a4:      e5bcff8c        ldr     pc, \[ip, #3980\]!      ; 0xf8c
 #------------------------------------------------------------------------------
 #------ taf4's .plt entry
 #------------------------------------------------------------------------------
-    90a8:      e28fc600        add     ip, pc, #0
+    90a8:      e28fc600        add     ip, pc, #0, 12
     90ac:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90b0:      e5bcff84        ldr     pc, \[ip, #3972\]!      ; 0xf84
 #------------------------------------------------------------------------------
@@ -122,7 +122,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ abf2's .plt entry
 #------------------------------------------------------------------------------
-    90b8:      e28fc600        add     ip, pc, #0
+    90b8:      e28fc600        add     ip, pc, #0, 12
     90bc:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90c0:      e5bcff78        ldr     pc, \[ip, #3960\]!      ; 0xf78
 
@@ -132,7 +132,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ aaf1's .iplt entry
 #------------------------------------------------------------------------------
-    90c4:      e28fc600        add     ip, pc, #0
+    90c4:      e28fc600        add     ip, pc, #0, 12
     90c8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90cc:      e5bcff70        ldr     pc, \[ip, #3952\]!      ; 0xf70
 #------------------------------------------------------------------------------
@@ -143,7 +143,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ atf1's .iplt entry
 #------------------------------------------------------------------------------
-    90d4:      e28fc600        add     ip, pc, #0
+    90d4:      e28fc600        add     ip, pc, #0, 12
     90d8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90dc:      e5bcff64        ldr     pc, \[ip, #3940\]!      ; 0xf64
 #------------------------------------------------------------------------------
@@ -154,13 +154,13 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    90e4:      e28fc600        add     ip, pc, #0
+    90e4:      e28fc600        add     ip, pc, #0, 12
     90e8:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90ec:      e5bcff58        ldr     pc, \[ip, #3928\]!      ; 0xf58
 #------------------------------------------------------------------------------
 #------ taf1's .iplt entry
 #------------------------------------------------------------------------------
-    90f0:      e28fc600        add     ip, pc, #0
+    90f0:      e28fc600        add     ip, pc, #0, 12
     90f4:      e28cca07        add     ip, ip, #28672  ; 0x7000
     90f8:      e5bcff50        ldr     pc, \[ip, #3920\]!      ; 0xf50
 #------------------------------------------------------------------------------
@@ -171,7 +171,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    9100:      e28fc600        add     ip, pc, #0
+    9100:      e28fc600        add     ip, pc, #0, 12
     9104:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9108:      e5bcff44        ldr     pc, \[ip, #3908\]!      ; 0xf44
 #------------------------------------------------------------------------------
@@ -182,7 +182,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    9110:      e28fc600        add     ip, pc, #0
+    9110:      e28fc600        add     ip, pc, #0, 12
     9114:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9118:      e5bcff38        ldr     pc, \[ip, #3896\]!      ; 0xf38
 #------------------------------------------------------------------------------
@@ -193,7 +193,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ atf3's .iplt entry
 #------------------------------------------------------------------------------
-    9120:      e28fc600        add     ip, pc, #0
+    9120:      e28fc600        add     ip, pc, #0, 12
     9124:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9128:      e5bcff2c        ldr     pc, \[ip, #3884\]!      ; 0xf2c
 #------------------------------------------------------------------------------
@@ -204,7 +204,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ abf3's .iplt entry
 #------------------------------------------------------------------------------
-    9130:      e28fc600        add     ip, pc, #0
+    9130:      e28fc600        add     ip, pc, #0, 12
     9134:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9138:      e5bcff20        ldr     pc, \[ip, #3872\]!      ; 0xf20
 #------------------------------------------------------------------------------
@@ -215,7 +215,7 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ ttf3's .iplt entry
 #------------------------------------------------------------------------------
-    9140:      e28fc600        add     ip, pc, #0
+    9140:      e28fc600        add     ip, pc, #0, 12
     9144:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9148:      e5bcff14        ldr     pc, \[ip, #3860\]!      ; 0xf14
 #------------------------------------------------------------------------------
@@ -226,19 +226,19 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    9150:      e28fc600        add     ip, pc, #0
+    9150:      e28fc600        add     ip, pc, #0, 12
     9154:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9158:      e5bcff08        ldr     pc, \[ip, #3848\]!      ; 0xf08
 #------------------------------------------------------------------------------
 #------ taf3's .iplt entry
 #------------------------------------------------------------------------------
-    915c:      e28fc600        add     ip, pc, #0
+    915c:      e28fc600        add     ip, pc, #0, 12
     9160:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9164:      e5bcff00        ldr     pc, \[ip, #3840\]!      ; 0xf00
 #------------------------------------------------------------------------------
 #------ aaf3's .iplt entry
 #------------------------------------------------------------------------------
-    9168:      e28fc600        add     ip, pc, #0
+    9168:      e28fc600        add     ip, pc, #0, 12
     916c:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9170:      e5bcfef8        ldr     pc, \[ip, #3832\]!      ; 0xef8
 
index be8f3d0..36139d9 100644 (file)
@@ -16,7 +16,7 @@ Disassembly of section \.plt:
 #------------------------------------------------------------------------------
 #------ f2's .plt entry
 #------------------------------------------------------------------------------
-    9014:      e28fc600        add     ip, pc, #0
+    9014:      e28fc600        add     ip, pc, #0, 12
     9018:      e28cca07        add     ip, ip, #28672  ; 0x7000
     901c:      e5bcfff0        ldr     pc, \[ip, #4080\]!      ; 0xff0
 
@@ -26,12 +26,12 @@ Disassembly of section \.iplt:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    9020:      e28fc600        add     ip, pc, #0
+    9020:      e28fc600        add     ip, pc, #0, 12
     9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9028:      e5bcffe8        ldr     pc, \[ip, #4072\]!      ; 0xfe8
 
 0000902c <f3>:
-    902c:      e28fc600        add     ip, pc, #0
+    902c:      e28fc600        add     ip, pc, #0, 12
     9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
     9034:      e5bcffe0        ldr     pc, \[ip, #4064\]!      ; 0xfe0
 
index 42dcc60..e14b99f 100644 (file)
@@ -1,3 +1,8 @@
+2011-10-18  Jie Zhang  <jie@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * arm-dis.c (print_insn_arm): Explicitly specify rotation if needed.
+
 2011-10-10  Nick Clifton  <nickc@redhat.com>
 
        * po/es.po: Updated Spanish translation.
index fafa7f6..03062ad 100644 (file)
@@ -3140,13 +3140,23 @@ print_insn_arm (bfd_vma pc, struct disassemble_info *info, long given)
                    case 'o':
                      if ((given & 0x02000000) != 0)
                        {
-                         int rotate = (given & 0xf00) >> 7;
-                         int immed = (given & 0xff);
+                         unsigned int rotate = (given & 0xf00) >> 7;
+                         unsigned int immed = (given & 0xff);
+                         unsigned int a, i;
+
+                         a = (((immed << (32 - rotate))
+                               | (immed >> rotate)) & 0xffffffff);
+                         /* If there is another encoding with smaller rotate,
+                            the rotate should be specified directly.  */
+                         for (i = 0; i < 32; i += 2)
+                           if ((a << i | a >> (32 - i)) <= 0xff)
+                             break;
 
-                         immed = (((immed << (32 - rotate))
-                                   | (immed >> rotate)) & 0xffffffff);
-                         func (stream, "#%d", immed);
-                         value_in_comment = immed;
+                         if (i != rotate)
+                           func (stream, "#%d, %d", immed, rotate);
+                         else
+                           func (stream, "#%d", a);
+                         value_in_comment = a;
                        }
                      else
                        arm_decode_shift (given, func, stream, TRUE);