* expr.c (expr): Don't reduce the difference of two symbols in the
authorJeff Law <law@redhat.com>
Wed, 14 Sep 1994 03:53:14 +0000 (03:53 +0000)
committerJeff Law <law@redhat.com>
Wed, 14 Sep 1994 03:53:14 +0000 (03:53 +0000)
same frag if the symbols are not in normal sections.

gas/ChangeLog
gas/expr.c

index 0c84cba..c92dd42 100644 (file)
@@ -1,5 +1,8 @@
 Tue Sep 13 20:05:47 1994  Jeff Law  (law@snake.cs.utah.edu)
 
+       * expr.c (expr): Don't reduce the difference of two symbols in the
+       same frag if the symbols are not in normal sections.
+
        * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
        (S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
        (obj_attach_unwind_info): Do not define.  Not needed anymore.
index d431d3d..88da7e9 100644 (file)
@@ -991,7 +991,9 @@ expr (rank, resultP)
               && right.X_op == O_symbol
               && resultP->X_op == O_symbol
               && (right.X_add_symbol->sy_frag
-                  == resultP->X_add_symbol->sy_frag))
+                  == resultP->X_add_symbol->sy_frag)
+              && SEG_NORMAL (S_GET_SEGMENT (right.X_add_symbol)))
+
        {
          resultP->X_add_number += right.X_add_number;
          resultP->X_add_number += (S_GET_VALUE (resultP->X_add_symbol)