summaryrefslogtreecommitdiff
path: root/gas/write.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2003-08-16 13:35:08 +0000
committerAlan Modra <amodra@gmail.com>2003-08-16 13:35:08 +0000
commit1a317472f6ba81c26bb010d1baa8366aa687cd5f (patch)
tree7ef5af5200ffc11d40726c8ed385a337ec6c62fc /gas/write.c
parentba3360ee530907fb76b4c473177341a1c1ca81dd (diff)
downloadbinutils-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.c12
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))