aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-06-27 03:14:47 +0000
committerAlan Modra <amodra@gmail.com>2001-06-27 03:14:47 +0000
commitd48019e08841eb295f4b565799898ebcb4b0f063 (patch)
tree945b4a634df68ed761bb5502b8f75edf97a89d83
parent446f28631310205b7515598fdbcd88a4d1838da2 (diff)
downloadgdb-d48019e08841eb295f4b565799898ebcb4b0f063.zip
gdb-d48019e08841eb295f4b565799898ebcb4b0f063.tar.gz
gdb-d48019e08841eb295f4b565799898ebcb4b0f063.tar.bz2
* write.c (fixup_segment <Difference of 2 syms same seg>): If
pcrel, subtract MD_PCREL_FROM_SECTION value.
-rw-r--r--gas/ChangeLog10
-rw-r--r--gas/write.c6
2 files changed, 12 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index bc43595..270b2b1 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2001-06-27 Tracy A. Kuhrt <Tracy.Kuhrt@microchip.com>
+
+ * write.c (fixup_segment <Difference of 2 syms same seg>): If
+ pcrel, subtract MD_PCREL_FROM_SECTION value.
+
2001-06-24 Ben Elliston <bje@redhat.com>
* stabs.c (generate_asm_file): Make local variable `len' a size_t.
@@ -34,8 +39,9 @@
2001-06-22 Matthew Wilcox <willy@ldl.fc.hp.com>
- * config/tc-hppa.c: Add %mrp (millicode return pointer) alias
- for %r2 or %r31, depending on 32 or 64 bit architecture.
+ * config/tc-hppa.c (pre_defined_registers): Add %mrp (millicode
+ return pointer) alias for %r2 or %r31, depending on 32 or 64 bit
+ architecture.
2001-06-21 Philip Blundell <philb@gnu.org>
diff --git a/gas/write.c b/gas/write.c
index ff63836..b6492c2 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -2661,8 +2661,10 @@ fixup_segment (fixP, this_segment_type)
as_bad_where (fixP->fx_file, fixP->fx_line,
_("callj to difference of 2 symbols"));
#endif /* TC_I960 */
- add_number += S_GET_VALUE (add_symbolP) -
- S_GET_VALUE (sub_symbolP);
+ add_number += (S_GET_VALUE (add_symbolP)
+ - S_GET_VALUE (sub_symbolP));
+ if (pcrel)
+ add_number -= MD_PCREL_FROM_SECTION (fixP, this_segment_type);
add_symbolP = NULL;
pcrel = 0; /* No further pcrel processing. */