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 | |
parent | ba3360ee530907fb76b4c473177341a1c1ca81dd (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | gas/write.c | 12 |
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)) |