aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/symbols.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f36693c..087bcf8 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+1999-06-11 Ian Lance Taylor <ian@zembu.com>
+
+ * symbols.c (resolve_symbol_value): Don't permit subtraction of
+ undefined symbols.
+
1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Don't use side-effect expression
diff --git a/gas/symbols.c b/gas/symbols.c
index 71b8df6..d47371e 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -1040,8 +1040,11 @@ resolve_symbol_value (symp, finalize)
expressions, such as IEEE-695. */
/* Don't emit messages unless we're finalizing the symbol value,
otherwise we may get the same message multiple times. */
- if ((seg_left != absolute_section || seg_right != absolute_section)
- && (op != O_subtract || seg_left != seg_right)
+ if ((seg_left != absolute_section
+ || seg_right != absolute_section)
+ && (op != O_subtract
+ || seg_left != seg_right
+ || seg_left == undefined_section)
&& finalize)
{
char *file;