From 1a317472f6ba81c26bb010d1baa8366aa687cd5f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 16 Aug 2003 13:35:08 +0000 Subject: [PATCH] * write.c (fixup_segment): When handling an expression involving the subtraction of two symbols in the same segment, don't clear fx_pcrel except for TC_M68K. --- gas/ChangeLog | 6 ++++++ gas/write.c | 12 +++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 9643180e15..80ae7bd04f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2003-08-16 Alan Modra + + * write.c (fixup_segment): When handling an expression involving + the subtraction of two symbols in the same segment, don't clear + fx_pcrel except for TC_M68K. + 2003-08-14 Alan Modra * config/tc-i386.h: Remove BFD_ASSEMBLER tests and all !BFD_ASSEMBLER diff --git a/gas/write.c b/gas/write.c index 1419ab564e..9eb17c6597 100644 --- a/gas/write.c +++ b/gas/write.c @@ -2642,18 +2642,12 @@ fixup_segment (fixP, this_segment) add_number += S_GET_VALUE (fixP->fx_addsy); add_number -= S_GET_VALUE (fixP->fx_subsy); fixP->fx_offset = add_number; - /* If the back-end code has selected a pc-relative - reloc, adjust the value to be pc-relative. */ - if (1 -#ifdef TC_M68K - /* See the comment below about 68k weirdness. */ - && 0 -#endif - && fixP->fx_pcrel) - add_number -= MD_PCREL_FROM_SECTION (fixP, this_segment); fixP->fx_addsy = NULL; fixP->fx_subsy = NULL; +#ifdef TC_M68K + /* See the comment below about 68k weirdness. */ fixP->fx_pcrel = 0; +#endif } else if (sub_symbol_segment == absolute_section && !TC_FORCE_RELOCATION_SUB_ABS (fixP))