This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/4] MIPS/GAS: Fix equated symbols in relaxation


"Maciej W. Rozycki" <macro@codesourcery.com> writes:
>> Index: gas/config/tc-mips.c
>> ===================================================================
>> RCS file: /cvs/src/src/gas/config/tc-mips.c,v
>> retrieving revision 1.419
>> diff -u -p -r1.419 tc-mips.c
>> --- gas/config/tc-mips.c	28 Jun 2010 14:06:57 -0000	1.419
>> +++ gas/config/tc-mips.c	28 Jul 2010 19:39:34 -0000
>> @@ -14571,8 +14571,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNU
>>  	  ext = FALSE;
>>  	}
>>  
>> -      resolve_symbol_value (fragp->fr_symbol);
>> -      val = S_GET_VALUE (fragp->fr_symbol);
>> +      val = resolve_symbol_value (fragp->fr_symbol);
>>        if (op->pcrel)
>>  	{
>>  	  addressT addr;
>
> this program:
>
> 	.text
> 	.set	mips16
> baz:
> 	nop
> 	.eqv	bar, foo
> 	.eqv	foo, bar
> 	b	bar
>
> assembles to this:
>
> Disassembly of section .text:
>
> 00000000 <baz>:
>    0:	6500      	nop
>    2:	17fe      	b	0 <baz>
>
> (no relocations) while it should yield this:
>
> beqv.s: Assembler messages:
> beqv.s:7: Error: symbol definition loop encountered at `foo'

Hmm, how are you testing?  I get the expected error with a
mipsisa64-elfoabi toolchain.

Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]