diff options
author | Alan Modra <amodra@gmail.com> | 2003-08-16 13:35:08 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2003-08-16 13:35:08 +0000 |
commit | 1a317472f6ba81c26bb010d1baa8366aa687cd5f (patch) | |
tree | 7ef5af5200ffc11d40726c8ed385a337ec6c62fc /gas/write.c | |
parent | ba3360ee530907fb76b4c473177341a1c1ca81dd (diff) | |
download | binutils-gdb-1a317472f6ba81c26bb010d1baa8366aa687cd5f.tar.gz |
* 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.
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/gas/write.c b/gas/write.c index 1419ab564eb..9eb17c6597f 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)) |