diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/symbols.c | 7 |
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; |