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

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

Re: [avr-gcc-list] Bug35013 - Incomplete check for pm() annotation


From: Andrew Hutchinson
Subject: Re: [avr-gcc-list] Bug35013 - Incomplete check for pm() annotation
Date: Sat, 16 Feb 2008 16:47:06 -0500
User-agent: Thunderbird 2.0.0.9 (Windows/20071031)

Thanks Eric , that was it.

Unfortunately it is only linker WARNING and easily missed during compilation.


Andy


Weddington, Eric wrote:
-----Original Message-----
From: address@hidden [mailto:address@hidden
org] On Behalf Of Andrew Hutchinson
Sent: Saturday, February 16, 2008 2:23 PM
To: Wouter van Gulik; address@hidden
Subject: Re: [avr-gcc-list] Bug35013 - Incomplete check for pm() annotation

Note that this bug is also related to:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27192

which has similar issue generating "byte address" instead of word
address. Oddly my patch appears to fix  that without problem, using :

  45 0014 80E0              ldi r24,lo8(pm(foo+512))
  46 0016 90E0              ldi r25,hi8(pm(foo+512))
  47 0018 9093 0000         sts (q)+1,r25
  48 001c 8093 0000         sts q,r24


So it would appear problem with pm(foo+1) is more complicated than it
appears.

Ideas?


Functions are word aligned (16-bits). Does 'foo' evaluate to a pointer
to word? Or does it evaluate to a pointer to a byte, which when adding
one and then made into a pointer to flash (word aligned) doesn't give
any meaningful object?


_______________________________________________
AVR-GCC-list mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list




reply via email to

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