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