From: Alan Modra Date: Fri, 27 Sep 2002 04:38:47 +0000 (+0000) Subject: * config/tc-avr.c (md_apply_fix3): Reinstate code handling pcrel X-Git-Tag: drow-cplus-branchpoint~125 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=877335413869679f06ce9404a47f5ecc6c836427;p=external%2Fbinutils.git * config/tc-avr.c (md_apply_fix3): Reinstate code handling pcrel fixups to current or absolute section. --- 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 + + * config/tc-avr.c (md_apply_fix3): Reinstate code handling pcrel + fixups to current or absolute section. + 2002-09-26 Jim Wilson * 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"));