Don't mark a fixup as done if it's against a symbol.
authorNick Clifton <nickc@redhat.com>
Fri, 23 Feb 2001 18:32:51 +0000 (18:32 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 23 Feb 2001 18:32:51 +0000 (18:32 +0000)
gas/ChangeLog
gas/config/tc-mn10300.c

index 8b6b1f2..5ec3fd8 100644 (file)
@@ -1,3 +1,8 @@
+2001-02-23   Richard Sandiford <rsandifo@redhat.com>
+
+       * config/tc-mn10300.c (md_apply_fix3): Don't mark a fixup as
+       done if it's against a symbol.
+
 2001-02-22  Timothy Wall  <twall@cygnus.com>
 
        * config/tc-ia64.c (ia64_target_format): Return ia64-aix-specific
index 51bc3fb..21e8e42 100644 (file)
@@ -1,5 +1,5 @@
 /* tc-mn10300.c -- Assembler code for the Matsushita 10300
-   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -1963,9 +1963,11 @@ md_apply_fix3 (fixp, valuep, seg)
 
   md_number_to_chars (fixpos, value, size);
 
-  fixp->fx_done = 1;
-  return 0;
+  /* If a symbol remains, pass the fixup, as a reloc, onto the linker.  */
+  if (fixp->fx_addsy == NULL)
+    fixp->fx_done = 1;
 
+  return 0;
 }
 
 /* Return nonzero if the fixup in FIXP will require a relocation,