Index: gas/config/tc-arm.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-arm.c,v retrieving revision 1.501 diff -u -p -r1.501 tc-arm.c --- gas/config/tc-arm.c 13 Oct 2011 08:15:15 -0000 1.501 +++ gas/config/tc-arm.c 13 Oct 2011 17:20:42 -0000 @@ -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: gas/testsuite/gas/arm/adrl.d =================================================================== RCS file: /cvs/src/src/gas/testsuite/gas/arm/adrl.d,v retrieving revision 1.7 diff -u -p -r1.7 adrl.d --- gas/testsuite/gas/arm/adrl.d 30 Jun 2009 11:57:05 -0000 1.7 +++ gas/testsuite/gas/arm/adrl.d 13 Oct 2011 17:20:42 -0000 @@ -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\) ... Index: gas/testsuite/gas/arm/immed2.d =================================================================== RCS file: gas/testsuite/gas/arm/immed2.d diff -N gas/testsuite/gas/arm/immed2.d --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gas/testsuite/gas/arm/immed2.d 13 Oct 2011 17:20:42 -0000 @@ -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 Index: gas/testsuite/gas/arm/immed2.s =================================================================== RCS file: gas/testsuite/gas/arm/immed2.s diff -N gas/testsuite/gas/arm/immed2.s --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gas/testsuite/gas/arm/immed2.s 13 Oct 2011 17:20:42 -0000 @@ -0,0 +1,4 @@ +@ Tests for modified immediate constants with specified rotate + .text +bar: + cmplt r1, #0x9c, 4 Index: ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d,v retrieving revision 1.1 diff -u -p -r1.1 cortex-a8-fix-b-plt.d --- ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d 6 May 2011 10:21:32 -0000 1.1 +++ ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d,v retrieving revision 1.2 diff -u -p -r1.2 cortex-a8-fix-bcc-plt.d --- ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d 2 Jun 2011 15:32:09 -0000 1.2 +++ ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d,v retrieving revision 1.1 diff -u -p -r1.1 cortex-a8-fix-bl-plt.d --- ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d 6 May 2011 10:21:32 -0000 1.1 +++ ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d,v retrieving revision 1.1 diff -u -p -r1.1 cortex-a8-fix-bl-rel-plt.d --- ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d 7 May 2010 18:24:48 -0000 1.1 +++ ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d,v retrieving revision 1.1 diff -u -p -r1.1 cortex-a8-fix-blx-plt.d --- ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d 6 May 2011 10:21:32 -0000 1.1 +++ ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/ifunc-1.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-1.dd,v retrieving revision 1.1 diff -u -p -r1.1 ifunc-1.dd --- ld/testsuite/ld-arm/ifunc-1.dd 14 Mar 2011 16:04:14 -0000 1.1 +++ ld/testsuite/ld-arm/ifunc-1.dd 13 Oct 2011 17:20:42 -0000 @@ -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 : - 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 : - 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: ld/testsuite/ld-arm/ifunc-10.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-10.dd,v retrieving revision 1.2 diff -u -p -r1.2 ifunc-10.dd --- ld/testsuite/ld-arm/ifunc-10.dd 2 Jun 2011 15:32:10 -0000 1.2 +++ ld/testsuite/ld-arm/ifunc-10.dd 13 Oct 2011 17:20:42 -0000 @@ -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 : - 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 : - 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 : - 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 : - 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 : - 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 : - 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: ld/testsuite/ld-arm/ifunc-14.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-14.dd,v retrieving revision 1.1 diff -u -p -r1.1 ifunc-14.dd --- ld/testsuite/ld-arm/ifunc-14.dd 14 Mar 2011 16:04:14 -0000 1.1 +++ ld/testsuite/ld-arm/ifunc-14.dd 13 Oct 2011 17:20:42 -0000 @@ -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 : - 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 : - 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: ld/testsuite/ld-arm/ifunc-15.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-15.dd,v retrieving revision 1.1 diff -u -p -r1.1 ifunc-15.dd --- ld/testsuite/ld-arm/ifunc-15.dd 14 Mar 2011 16:04:14 -0000 1.1 +++ ld/testsuite/ld-arm/ifunc-15.dd 13 Oct 2011 17:20:42 -0000 @@ -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 : - 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 : - 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: ld/testsuite/ld-arm/ifunc-16.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-16.dd,v retrieving revision 1.1 diff -u -p -r1.1 ifunc-16.dd --- ld/testsuite/ld-arm/ifunc-16.dd 14 Mar 2011 16:04:14 -0000 1.1 +++ ld/testsuite/ld-arm/ifunc-16.dd 13 Oct 2011 17:20:42 -0000 @@ -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 : - 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 : - 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 : - 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 : - 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: ld/testsuite/ld-arm/ifunc-2.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-2.dd,v retrieving revision 1.1 diff -u -p -r1.1 ifunc-2.dd --- ld/testsuite/ld-arm/ifunc-2.dd 14 Mar 2011 16:04:14 -0000 1.1 +++ ld/testsuite/ld-arm/ifunc-2.dd 13 Oct 2011 17:20:42 -0000 @@ -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 : - 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 : - 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 : - 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 : - 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: ld/testsuite/ld-arm/ifunc-3.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-3.dd,v retrieving revision 1.2 diff -u -p -r1.2 ifunc-3.dd --- ld/testsuite/ld-arm/ifunc-3.dd 2 Jun 2011 15:32:10 -0000 1.2 +++ ld/testsuite/ld-arm/ifunc-3.dd 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/ifunc-4.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-4.dd,v retrieving revision 1.2 diff -u -p -r1.2 ifunc-4.dd --- ld/testsuite/ld-arm/ifunc-4.dd 2 Jun 2011 15:32:10 -0000 1.2 +++ ld/testsuite/ld-arm/ifunc-4.dd 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/ifunc-5.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-5.dd,v retrieving revision 1.2 diff -u -p -r1.2 ifunc-5.dd --- ld/testsuite/ld-arm/ifunc-5.dd 2 Jun 2011 15:32:10 -0000 1.2 +++ ld/testsuite/ld-arm/ifunc-5.dd 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/ifunc-6.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-6.dd,v retrieving revision 1.2 diff -u -p -r1.2 ifunc-6.dd --- ld/testsuite/ld-arm/ifunc-6.dd 2 Jun 2011 15:32:10 -0000 1.2 +++ ld/testsuite/ld-arm/ifunc-6.dd 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/ifunc-7.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-7.dd,v retrieving revision 1.2 diff -u -p -r1.2 ifunc-7.dd --- ld/testsuite/ld-arm/ifunc-7.dd 2 Jun 2011 15:32:10 -0000 1.2 +++ ld/testsuite/ld-arm/ifunc-7.dd 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/ifunc-8.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-8.dd,v retrieving revision 1.2 diff -u -p -r1.2 ifunc-8.dd --- ld/testsuite/ld-arm/ifunc-8.dd 2 Jun 2011 15:32:10 -0000 1.2 +++ ld/testsuite/ld-arm/ifunc-8.dd 13 Oct 2011 17:20:42 -0000 @@ -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: ld/testsuite/ld-arm/ifunc-9.dd =================================================================== RCS file: /cvs/src/src/ld/testsuite/ld-arm/ifunc-9.dd,v retrieving revision 1.1 diff -u -p -r1.1 ifunc-9.dd --- ld/testsuite/ld-arm/ifunc-9.dd 14 Mar 2011 16:04:14 -0000 1.1 +++ ld/testsuite/ld-arm/ifunc-9.dd 13 Oct 2011 17:20:42 -0000 @@ -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 : - 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: opcodes/arm-dis.c =================================================================== RCS file: /cvs/src/src/opcodes/arm-dis.c,v retrieving revision 1.148 diff -u -p -r1.148 arm-dis.c --- opcodes/arm-dis.c 12 Jul 2011 08:45:45 -0000 1.148 +++ opcodes/arm-dis.c 13 Oct 2011 17:20:42 -0000 @@ -3140,13 +3140,23 @@ print_insn_arm (bfd_vma pc, struct disas 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);