aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-12-01 19:06:15 +0000
committerNick Clifton <nickc@redhat.com>2000-12-01 19:06:15 +0000
commit3dacdf2eb107a25a84c509c1d06b882f3f1248e5 (patch)
tree0a48a3bab9381d712f5d6372aafd530bf2fa9c01
parentb90dd607272c7f007cb121a22646f6cb1d5d1740 (diff)
downloadgdb-3dacdf2eb107a25a84c509c1d06b882f3f1248e5.zip
gdb-3dacdf2eb107a25a84c509c1d06b882f3f1248e5.tar.gz
gdb-3dacdf2eb107a25a84c509c1d06b882f3f1248e5.tar.bz2
When calculating offsets, don't accept as constant the difference between the
addresses of symbols in two different sections.
-rw-r--r--gas/ChangeLog14
-rw-r--r--gas/config/tc-mips.c4
2 files changed, 12 insertions, 6 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 8dc6768..caed5bc 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,9 +1,15 @@
+2000-12-01 Chris Demetriou <cgd@sibyte.com>
+
+ * config/tc-mips.c (mips_ip): When calculating offsets,
+ don't accept as constant the difference between the
+ addresses of symbols in two different sections.
+
2000-12-01 Joel Sherrill <joel@OARcorp.com>
- * configure.in (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*):
- New targets.
- (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
- (sparc*-*-rtems*): Switched from a.out to ELF.
+ * configure.in (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*):
+ New targets.
+ (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
+ (sparc*-*-rtems*): Switched from a.out to ELF.
* configure: Regenerate.
* config.in: Regenerate.
* Makefile.in: Regenerate.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 19490a8..ef6304d 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -7873,8 +7873,8 @@ mips_ip (str, ip)
|| offset_expr.X_add_number < -0x8000)
&& (mips_pic != EMBEDDED_PIC
|| offset_expr.X_op != O_subtract
- || (S_GET_SEGMENT (offset_expr.X_op_symbol)
- != now_seg)))
+ || (S_GET_SEGMENT (offset_expr.X_add_symbol)
+ != S_GET_SEGMENT (offset_expr.X_op_symbol))))
break;
if (c == 'h' || c == 'H')