diff -u bfd/coff-arm.c /home/src/wince/binutils-050201/bfd/coff-arm.c --- bfd/coff-arm.c 2005-01-31 23:13:15.000000000 +0000 +++ /home/src/wince/binutils-050201/bfd/coff-arm.c 2005-02-06 22:29:54.000000000 +0000 @@ -273,7 +273,7 @@ complain_overflow_dont, aoutarm_fix_pcrel_26_done, "ARM_26D", - FALSE, + TRUE, 0x00ffffff, 0x0, PCRELOFFSET), @@ -286,7 +286,7 @@ complain_overflow_bitfield, coff_arm_reloc, "ARM_32", - FALSE, + TRUE, 0xffffffff, 0xffffffff, PCRELOFFSET), @@ -299,7 +299,7 @@ complain_overflow_bitfield, coff_arm_reloc, "ARM_RVA32", - FALSE, + TRUE, 0xffffffff, 0xffffffff, PCRELOFFSET), @@ -347,7 +347,7 @@ complain_overflow_bitfield, coff_arm_reloc, "ARM_SECTION", - FALSE, + TRUE, 0x0000ffff, 0x0000ffff, PCRELOFFSET), @@ -360,7 +360,7 @@ complain_overflow_bitfield, coff_arm_reloc, "ARM_SECREL", - FALSE, + TRUE, 0xffffffff, 0xffffffff, PCRELOFFSET), @@ -1288,6 +1288,8 @@ #ifdef ARM_WINCE /* MS ARM-CE makes the reloc relative to the opcode's pc, not the next opcode's pc, so is off by one. */ + if (howto->pc_relative && !info->relocatable) + addend -= 8; #endif /* If we are doing a relocatable link, then we can just ignore @@ -1303,7 +1305,7 @@ VxWorks and EPOC-PE targets, but it is also known that it was suppressed for other ARM targets. This ought to be sorted out one day. */ -#ifdef ARM_COFF_BUGFIX +#if 1//def ARM_COFF_BUGFIX /* We must not ignore the symbol value. If the symbol is within the same section, the relocation should have already been fixed, but if it is not, we'll be handed a reloc into