Revert last patch.
authorAlan Modra <amodra@gmail.com>
Fri, 25 May 2001 01:59:43 +0000 (01:59 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 25 May 2001 01:59:43 +0000 (01:59 +0000)
gas/ChangeLog
gas/expr.c
gas/read.c

index 6abbd8ec7d5a3fe4697c1fbbc98083e3d6b277f4..6f5b600418cd67f05fbf356cc94be7ac383df16c 100644 (file)
@@ -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.
index 7e6ad90337372364ca62e6992bce9abad288e2cb..f79e31cbe3aff6c8360a9483e899ebdd1b7c6675 100644 (file)
@@ -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
        {
index c14d2c0028f6a54ed54e390d7b4ba18dcf7c8f56..209ab6ad08aa1cad465aa1c7549d982658aace0b 100644 (file)
@@ -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;
     }
 }