* libxcoff.h (struct xcoff_backend_data_rec): Constify src param
[binutils-gdb.git] / bfd / coff-arm.c
index ad4813f808bb7546d1a42b9f30f6cc034cd96fd7..bfedfdbc68af007e7af1c07637e2487108949275 100644 (file)
@@ -1,5 +1,6 @@
 /* BFD back-end for ARM COFF files.
-   Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+   2000, 2001
    Free Software Foundation, Inc.
    Written by Cygnus Support.
 
@@ -1243,12 +1244,18 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
         {
           if (info->relocateable)
             continue;
-#if 0  /* 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
-         the beginning of the symbol's section, so we must not cancel
-         out the symbol's value, otherwise we'll be adding it in
-         twice.  */
+         /* FIXME - it is not clear which targets need this next test
+            and which do not.  It is known that it is needed for the
+            VxWorks and EPOC-PE targets, but it is also known that it
+            was supressed for other ARM targets.  This ought to be
+            sorted out one day.  */
+#ifdef 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
+            the beginning of the symbol's section, so we must not cancel
+            out the symbol's value, otherwise we'll be adding it in
+            twice.  */
           if (sym != NULL && sym->n_scnum != 0)
             addend += sym->n_value;
 #endif