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: [ping][PATCH] MIPS/GAS: LUI operand handling bug fixes


"Maciej W. Rozycki" <macro@codesourcery.com> writes:
> On Fri, 2 Nov 2012, Richard Sandiford wrote:
>> >  I think this begs for the overflow checks I mentioned the other day too, 
>> > a piece like:
>> >
>> > 	addiu	$4,$4,foo+1
>> > 	.eqv	foo,0x12345678
>> >
>> > should IMHO fail -- do you agree?  I.e. use %lo if this is supposed not to 
>> > overflow:
>> >
>> > 	addiu	$4,$4,%lo(foo+1)
>> > 	.eqv	foo,0x12345678
>> 
>> Yeah, I wondered about that too, but I don't think we should change it.
>> If we were starting from scratch, then I agree that it would make sense
>> to raise the error, but changing it now (after 20ys+ history) seems
>> as likely to harm as help.  Let's just fix the bogus LUI output.
>
>  Well, not quite from 20yrs ago, the lack of an error with the former 
> example is an unfortunate side effect of the recent %hi/%lo fix -- exactly 
> where I noted the need for better overflow handling.  I get this:
>
> addiu.s: Assembler messages:
> addiu.s:1: Error: relocation overflow
>
> with arbitrarily picked version 2.20.1, so I think first we can (and 
> should) bring it back and second enforce it for LUI as well (well, with 
> what I have in mind that'll be automatic).  Do you still think we have to 
> avoid such checks?

Nope, thanks for correcting me.

Richard


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