From d48019e08841eb295f4b565799898ebcb4b0f063 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 27 Jun 2001 03:14:47 +0000 Subject: [PATCH] * write.c (fixup_segment ): If pcrel, subtract MD_PCREL_FROM_SECTION value. --- gas/ChangeLog | 10 ++++++++-- gas/write.c | 6 ++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index bc43595c7f3..270b2b178f9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-06-27 Tracy A. Kuhrt + + * write.c (fixup_segment ): If + pcrel, subtract MD_PCREL_FROM_SECTION value. + 2001-06-24 Ben Elliston * stabs.c (generate_asm_file): Make local variable `len' a size_t. @@ -34,8 +39,9 @@ 2001-06-22 Matthew Wilcox - * 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 diff --git a/gas/write.c b/gas/write.c index ff63836e093..b6492c27e4e 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. */ -- 2.30.2