This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1.0/4 v2] MIPS/GAS: Fix equated symbols in relaxation
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: "Maciej W. Rozycki" <macro at codesourcery dot com>
- Cc: Catherine Moore <clm at codesourcery dot com>, binutils at sourceware dot org
- Date: Sat, 30 Oct 2010 10:56:08 +0100
- Subject: Re: [PATCH 1.0/4 v2] MIPS/GAS: Fix equated symbols in relaxation
- References: <alpine.DEB.1.10.1007241701380.29495@tp.orcam.me.uk> <alpine.DEB.1.10.1010290951400.25860@tp.orcam.me.uk>
Thanks for perservering with these patches. I think 1 and 2 are
ready to go in. However, you're dealing with some very subtle code here,
as the bugs you're fixing show, so please wait until 2.21 has branched
before committing.
"Maciej W. Rozycki" <macro@codesourcery.com> writes:
> Equated symbols (defined with .eqv) are not yet fully resolved by the
> time relaxation is made. As a result, if used in a relaxed expression,
> they cause a failure as follows:
>
> branch-self.s:30: Error: attempt to get value of unresolved symbol `fnord'
>
> The fix is to use the result of the resolver function called for the
> symbol at this point rather than trying to obtain the final value of the
> symbol itself. As this final fix actually comes from you, you get the
> credit in the ChangeLog entry. :)
>
> 2010-10-29 Richard Sandiford <rdsandiford@googlemail.com>
>
> gas/
> * config/tc-mips.c (md_convert_frag): Remove a call to
> S_GET_VALUE and use the result of resolve_symbol_value as the
> value of the symbol processed in MIPS16 relaxation.
>
> OK to apply?
OK once 2.21 has branched.
Richard