[patch] invalid error reports on v850-elf target/ppc-darwin host
Masaki Muranaka
monaka@monami-software.com
Wed May 21 13:20:00 GMT 2008
Hello Nick,
I found that bug when I compiled gcc-3.4.6 (v850-elf target) with
recent binutils. An error message is follows:
../../gcc/config/v850/lib1funcs.asm: Assembler messages:
../../gcc/config/v850/lib1funcs.asm:1613: Error: prepare {r20-r29},0:
operand out of range (0 is not between 0 and -1)
I'm sorry I can't create a pinpoint test case as I'm not good at v850
assembler.
Regards,
On 2008/04/26, at 0:03, Nick Clifton wrote:
> Hi Masaki,
>
>> As you know, it is undefined in case bit shift with negative value.
>> The result of (long)((1 << -1) - 1) is also undefined.
>
>> This patch is fix assemble error caused by the behavior above.
>
> Thank you for submitting this patch.
>
> It is a good patch, but it does not go far enough. Looking at the
> code there seems to be several other places where these shifts by
> negative values could occur, so we really should fix all of them.
> Plus it would be very helpful if you could include a testcase that
> triggers the problem, so that we can make sure that it does not
> reoccur in the future.
>
> Cheers
> Nick
>
>
>
Masaki Muranaka
Monami Software
More information about the Binutils
mailing list