avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] ATmega 2561 - eicall uses "byte" address


From: Dusan Ferbas
Subject: Re: [avr-gcc-list] ATmega 2561 - eicall uses "byte" address
Date: Fri, 06 Jun 2008 21:02:52 +0200

I agree that there is a bug.

But with call, I have different opinion.
Compiler does not know, where a module will be linked.
However it knows, where the call targets, it does not know, from where the call is made. If it is in a same flash "bank", call is sufficient. If not, there should be eicall with EIND handling. It is strange, that compiler generates eicall without EIND handling, even initializing.

So with near and far attributes, there will be possibility to force compiler to use call or eicall.
Otherwise we have to code it in asm.

At 13:47 6.6.2008, address@hidden wrote:
Compiler should not need "near". This is a constant address. So it should do CALL, which can be handle like any other call.

This is a bug.

Andy

-----Original Message-----
From: Dusan Ferbas <address@hidden>
To: Stu Bell <address@hidden>; address@hidden
Sent: Thu, 5 Jun 2008 7:29 pm
Subject: RE: [avr-gcc-list] ATmega 2561 - eicall uses "byte" address

I now checked the case also with WinAVR-20080512. Same bug as with 20071221 (WinAVR bug #1959227 at sf.net).

Is it possible to add an attribute st. like "near" to prevent compiler using eicall and to generate icall (case 1 below) ?

Dusan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]