avr-libc-dev
[Top][All Lists]
Advanced

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

Re: [avr-libc-dev] [RFC] [bug #9348] asin (acos) & atan problem (64K bou


From: Joerg Wunsch
Subject: Re: [avr-libc-dev] [RFC] [bug #9348] asin (acos) & atan problem (64K boundary)
Date: Thu, 28 Oct 2004 23:31:45 +0200
User-agent: Mutt/1.5.6i

As Theodore A. Roth wrote:

> It seems to me that moving the tables into a .c file would allow us to
> have gcc force the table in the lower 64K. For example, the table_asin
> defined as such in asin.S:

...

> would be moved to table_asin.c like this
> 
>   #include <avr/pgmspace.h>
>   #include <avr/stdint.h>
> 
>   uint8_t table_asin [] PROGMEM = {

I basically like the idea, and think it'll solve the problem.

Though, I wouldn't opt for a separate C source file, but rather for
the appropriate section attributes applied just for the table, so the
linker will sort it appropriately even though coming from an assembler
source file.

If I'm not mistaken, this should be:

.section        .progmem.data,"a",@progbits

As E. Weddington wrote:

> Just make sure the table identifier(s) start with an underscore (or
> two, or whatever the rule is supposed to be, Joerg?), that way we
> don't trample on the user's space.

I can't really tell both apart either. ;-)  Two underscores would
be on the safe side.  OTOH, using the above, it should not even be
necessary as the symbols would be module-local only.

-- 
J"org Wunsch                                           Unix support engineer
address@hidden        http://www.interface-systems.de/~j/




reply via email to

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