diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/expr.c | 13 | ||||
-rw-r--r-- | gas/read.c | 7 |
3 files changed, 3 insertions, 21 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 6abbd8e..6f5b600 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,9 +1,5 @@ 2001-05-25 Alan Modra <amodra@one.net.au> - * expr.c (expr): Set return value to absolute_section for - subtractive operations on symbols within a segment. - * read.c (pseudo_set): Set segment for complex expressions. - From 2.11 branch 2001-03-30 Richard Henderson <rth@redhat.com> * config/tc-i386.c (md_convert_frag): Don't die on local symbols that have been finalized. @@ -1862,19 +1862,6 @@ expr (rankarg, resultP) resultP->X_add_number += right.X_add_number; else if (op_left == O_subtract) resultP->X_add_number -= right.X_add_number; - if (retval == rightseg - && (op_left == O_subtract - || op_left == O_eq - || op_left == O_ne - || op_left == O_lt - || op_left == O_le - || op_left == O_ge - || op_left == O_gt)) - { - /* For subtractive operations on symbols within a - segment, the result will absolute. */ - retval = absolute_section; - } } else { @@ -3151,7 +3151,6 @@ pseudo_set (symbolP) symbolS *symbolP; { expressionS exp; - segT seg; #if (defined (OBJ_AOUT) || defined (OBJ_BOUT)) && ! defined (BFD_ASSEMBLER) int ext; #endif /* OBJ_AOUT or OBJ_BOUT */ @@ -3161,7 +3160,7 @@ pseudo_set (symbolP) ext = S_IS_EXTERNAL (symbolP); #endif /* OBJ_AOUT or OBJ_BOUT */ - seg = expression (&exp); + (void) expression (&exp); if (exp.X_op == O_illegal) as_bad (_("illegal expression; zero assumed")); @@ -3237,9 +3236,9 @@ pseudo_set (symbolP) break; default: - /* The value is some complex expression. */ + /* The value is some complex expression. + FIXME: Should we set the segment to anything? */ symbol_set_value_expression (symbolP, &exp); - S_SET_SEGMENT (symbolP, seg); break; } } |