aboutsummaryrefslogtreecommitdiff
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
parentba3360ee530907fb76b4c473177341a1c1ca81dd (diff)
downloadgdb-1a317472f6ba81c26bb010d1baa8366aa687cd5f.zip
gdb-1a317472f6ba81c26bb010d1baa8366aa687cd5f.tar.gz
gdb-1a317472f6ba81c26bb010d1baa8366aa687cd5f.tar.bz2
* 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.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/write.c12
2 files changed, 9 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9643180..80ae7bd 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2003-08-16 Alan Modra <amodra@bigpond.net.au>
+
+ * 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 <amodra@bigpond.net.au>
* config/tc-i386.h: Remove BFD_ASSEMBLER tests and all !BFD_ASSEMBLER
diff --git a/gas/write.c b/gas/write.c
index 1419ab5..9eb17c6 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))