* config/tc-arm.c (tc_gen_reloc): Improve error message for
authorDaniel Jacobowitz <drow@false.org>
Fri, 23 Jan 2004 16:29:34 +0000 (16:29 +0000)
committerDaniel Jacobowitz <drow@false.org>
Fri, 23 Jan 2004 16:29:34 +0000 (16:29 +0000)
undefined local labels.

gas/ChangeLog
gas/config/tc-arm.c

index 1f8f81a8dea9cb48b8c5a38233ebca69d9e25a54..4040f2e63e19bac2200d199797bb7eb2b6afe10e 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config/tc-arm.c (tc_gen_reloc): Improve error message for
+       undefined local labels.
+
 2004-01-23  Richard Sandiford  <rsandifo@redhat.com>
 
        * config/tc-mips.c (load_address, macro): Update comments about
index c290a928509f2585436a5bd197d43a7e1cf359db..aef76e7c0cecda6f38cf2c2d43752f96528b6052 100644 (file)
@@ -12823,6 +12823,16 @@ tc_gen_reloc (section, fixp)
       return NULL;
 
     case BFD_RELOC_ARM_OFFSET_IMM:
+      if (fixp->fx_addsy != NULL
+         && !S_IS_DEFINED (fixp->fx_addsy)
+         && S_IS_LOCAL (fixp->fx_addsy))
+       {
+         as_bad_where (fixp->fx_file, fixp->fx_line,
+                       _("undefined local label `%s'"),
+                       S_GET_NAME (fixp->fx_addsy));
+         return NULL;
+       }
+
       as_bad_where (fixp->fx_file, fixp->fx_line,
                    _("internal_relocation (type: OFFSET_IMM) not fixed up"));
       return NULL;