This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] Relax MIPS j/jal out-of-range check
>>>>> "Daniel" == Daniel Jacobowitz <firstname.lastname@example.org> writes:
Daniel> On Tue, May 09, 2006 at 03:16:37PM +0100, Thiemo Seufer
>> Hello All,
>> I applied the appended patch. It relaxes the range checking for j
>> and jal addresses to a warning, since there are a few cases where
>> the effect of an out of range jump can be the intended result.
Daniel> Why? Especially bearing in mind that we're in the assembler
Daniel> here. This doesn't make sense to me.
If you have a routine that's sometimes called from uncached code, and
the label is a KSEG0 address, you could call it from KSEG1 code simply
and the machine will do the right thing (you end up at the KSEG1
address corresponding to "label").
It's a bit of a stretch, I suppose, but I've run into this.
Without the patch you end up having to do this:
or perhaps even uglier things, if that address arithmetic is invalid