Index: gas/config/tc-arm.c =================================================================== RCS file: /var/cvsroot/src-cvs/src/gas/config/tc-arm.c,v retrieving revision 1.212 diff -u -p -r1.212 tc-arm.c --- gas/config/tc-arm.c 4 Jul 2005 14:27:07 -0000 1.212 +++ gas/config/tc-arm.c 21 Jul 2005 02:30:01 -0000 @@ -5667,7 +5667,6 @@ encode_thumb32_addr_mode (int i, bfd_boo inst.instruction |= 0x00000100; } inst.reloc.type = BFD_RELOC_ARM_T32_OFFSET_IMM; - inst.reloc.pc_rel = is_pc; } else if (inst.operands[i].postind) { Index: gas/testsuite/gas/arm/thumb32.d =================================================================== RCS file: /var/cvsroot/src-cvs/src/gas/testsuite/gas/arm/thumb32.d,v retrieving revision 1.6 diff -u -p -r1.6 thumb32.d --- gas/testsuite/gas/arm/thumb32.d 4 Jul 2005 14:55:52 -0000 1.6 +++ gas/testsuite/gas/arm/thumb32.d 21 Jul 2005 02:27:17 -0000 @@ -991,3 +991,23 @@ Disassembly of section .text: 0+ca4 <[^>]+> fa52 f183 uxtab r1, r2, r3 0+ca8 <[^>]+> fa32 f183 uxtab16 r1, r2, r3 0+cac <[^>]+> fa12 f183 uxtah r1, r2, r3 +0+cb0 <[^>]+> f89f 12aa ldrb\.w r1, \[pc, #682\] ; 0+f5e <[^>]+> +0+cb4 <[^>]+> f89f 1155 ldrb\.w r1, \[pc, #341\] ; 0+e0d <[^>]+> +0+cb8 <[^>]+> f81f 12aa ldrb\.w r1, \[pc, #-682\] ; 0+a12 <[^>]+> +0+cbc <[^>]+> f81f 1155 ldrb\.w r1, \[pc, #-341\] ; 0+b6b <[^>]+> +0+cc0 <[^>]+> f99f 12aa ldrsb\.w r1, \[pc, #682\] ; 0+f6e <[^>]+> +0+cc4 <[^>]+> f99f 1155 ldrsb\.w r1, \[pc, #341\] ; 0+e1d <[^>]+> +0+cc8 <[^>]+> f91f 12aa ldrsb\.w r1, \[pc, #-682\] ; 0+a22 <[^>]+> +0+ccc <[^>]+> f91f 1155 ldrsb\.w r1, \[pc, #-341\] ; 0+b7b <[^>]+> +0+cd0 <[^>]+> f8bf 12aa ldrh\.w r1, \[pc, #682\] ; 0+f7e <[^>]+> +0+cd4 <[^>]+> f8bf 1155 ldrh\.w r1, \[pc, #341\] ; 0+e2d <[^>]+> +0+cd8 <[^>]+> f83f 12aa ldrh\.w r1, \[pc, #-682\] ; 0+a32 <[^>]+> +0+cdc <[^>]+> f83f 1155 ldrh\.w r1, \[pc, #-341\] ; 0+b8b <[^>]+> +0+ce0 <[^>]+> f9bf 12aa ldrsh\.w r1, \[pc, #682\] ; 0+f8e <[^>]+> +0+ce4 <[^>]+> f9bf 1155 ldrsh\.w r1, \[pc, #341\] ; 0+e3d <[^>]+> +0+ce8 <[^>]+> f93f 12aa ldrsh\.w r1, \[pc, #-682\] ; 0+a42 <[^>]+> +0+cec <[^>]+> f93f 1155 ldrsh\.w r1, \[pc, #-341\] ; 0+b9b <[^>]+> +0+cf0 <[^>]+> f8df 12aa ldr\.w r1, \[pc, #682\] ; 0+f9e <[^>]+> +0+cf4 <[^>]+> f8df 1155 ldr\.w r1, \[pc, #341\] ; 0+e4d <[^>]+> +0+cf8 <[^>]+> f85f 12aa ldr\.w r1, \[pc, #-682\] ; 0+a52 <[^>]+> +0+cfc <[^>]+> f85f 1155 ldr\.w r1, \[pc, #-341\] ; 0+bab <[^>]+> Index: gas/testsuite/gas/arm/thumb32.s =================================================================== RCS file: /var/cvsroot/src-cvs/src/gas/testsuite/gas/arm/thumb32.s,v retrieving revision 1.2 diff -u -p -r1.2 thumb32.s --- gas/testsuite/gas/arm/thumb32.s 18 May 2005 05:40:10 -0000 1.2 +++ gas/testsuite/gas/arm/thumb32.s 21 Jul 2005 02:29:31 -0000 @@ -733,3 +733,15 @@ xta: uxtab r1, r2, r3 uxtab16 r1, r2, r3 uxtah r1, r2, r3 + + .macro ldpcimm op + \op r1, [pc, #0x2aa] + \op r1, [pc, #0x155] + \op r1, [pc, #-0x2aa] + \op r1, [pc, #-0x155] + .endm + ldpcimm ldrb + ldpcimm ldrsb + ldpcimm ldrh + ldpcimm ldrsh + ldpcimm ldr