diff options
author | Alan Modra <amodra@gmail.com> | 2002-09-27 04:38:47 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2002-09-27 04:38:47 +0000 |
commit | 877335413869679f06ce9404a47f5ecc6c836427 (patch) | |
tree | 1b938e4bd55ef741070f8438a1dfdd5876cadf89 | |
parent | 4e0df2df38910d592cdc9b81a02e4b1976077ed9 (diff) | |
download | gdb-877335413869679f06ce9404a47f5ecc6c836427.zip gdb-877335413869679f06ce9404a47f5ecc6c836427.tar.gz gdb-877335413869679f06ce9404a47f5ecc6c836427.tar.bz2 |
* config/tc-avr.c (md_apply_fix3): Reinstate code handling pcrel
fixups to current or absolute section.
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-avr.c | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index b1b96d4..48b179e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2002-09-27 Alan Modra <amodra@bigpond.net.au> + + * config/tc-avr.c (md_apply_fix3): Reinstate code handling pcrel + fixups to current or absolute section. + 2002-09-26 Jim Wilson <wilson@redhat.com> * config/tc-v850.c (v850_offset): Use frag_var instead of frag_now_fix diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c index 573fa38..c951646 100644 --- a/gas/config/tc-avr.c +++ b/gas/config/tc-avr.c @@ -838,6 +838,17 @@ md_apply_fix3 (fixP, valP, seg) if (fixP->fx_addsy == (symbolS *) NULL) fixP->fx_done = 1; + else if (fixP->fx_pcrel) + { + segT s = S_GET_SEGMENT (fixP->fx_addsy); + + if (s == seg || s == absolute_section) + { + value += S_GET_VALUE (fixP->fx_addsy); + fixP->fx_done = 1; + } + } + /* We don't actually support subtracting a symbol. */ if (fixP->fx_subsy != (symbolS *) NULL) as_bad_where (fixP->fx_file, fixP->fx_line, _("expression too complex")); |