This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1/4] 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: binutils at sourceware dot org, Catherine Moore <clm at codesourcery dot com>, gnu-mips-sgxx at codesourcery dot com
- Date: Tue, 27 Jul 2010 19:37:18 +0100
- Subject: Re: [PATCH 1/4] MIPS/GAS: Fix equated symbols in relaxation
- References: <alpine.DEB.1.10.1007241701380.29495@tp.orcam.me.uk>
"Maciej W. Rozycki" <macro@codesourcery.com> writes:
> Hi,
>
> 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 manually walk the chain of symbols; we handle additive
> expressions involving constant (positive or negative) addends here only
> like elsewhere.
>
> 2010-07-26 Maciej W. Rozycki <macro@codesourcery.com>
>
> gas/
> * config/tc-mips.c: Include "struc-symbol.h".
> (md_convert_frag): Resolve equated symbols manually.
Can you explain in more detail why the equated symbol handling
in resolve_symbol_value doesn't do the right thing?
Richard