aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-09-14 03:53:14 +0000
committerJeff Law <law@redhat.com>1994-09-14 03:53:14 +0000
commitfcacfef6ae9044437f58f7b74af1825ab64b72fd (patch)
treefc1fa6982d4ae3b6c82a9444eaece34e086f5b0c /gas
parenta0f5033df3b0df240fb8322a969c56e09915fbd5 (diff)
downloadgdb-fcacfef6ae9044437f58f7b74af1825ab64b72fd.zip
gdb-fcacfef6ae9044437f58f7b74af1825ab64b72fd.tar.gz
gdb-fcacfef6ae9044437f58f7b74af1825ab64b72fd.tar.bz2
* expr.c (expr): Don't reduce the difference of two symbols in the
same frag if the symbols are not in normal sections.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/expr.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0c84cba..c92dd42 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/expr.c b/gas/expr.c
index d431d3d..88da7e9 100644
--- a/gas/expr.c
+++ b/gas/expr.c
@@ -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)