+2016-12-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/invoke.texi (AVR Options) [-mabsdata]: Point to absdata.
+ * doc/extend.texi (AVR Variable Attributes) [progmem]: Hint
+ about linker description to avoid progmem altogether.
+ [absdata]: Point to -mabsdata option.
+
2016-12-02 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/78547
@}
@end smallexample
+Please notice that on these devices, there is no need for @code{progmem}
+at all. Just use an appropriate linker description file like outlined below.
+
+@smallexample
+ .text :
+ @{ ...
+ @} > text
+ /* Leave .rodata in flash and add an offset of 0x4000 to all
+ addresses so that respective objects can be accessed by LD
+ instructions and open coded C/C++. This means there is no
+ need for progmem in the source and no overhead by read-only
+ data in RAM. */
+ .rodata ADDR(.text) + SIZEOF (.text) + 0x4000 :
+ @{
+ *(.rodata)
+ *(.rodata*)
+ *(.gnu.linkonce.r*)
+ @} AT> text
+ /* No more need to put .rodata into .data:
+ Removed all .rodata entries from .data. */
+ .data :
+ @{ ...
+@end smallexample
+
@end table
@item io
@end itemize
+See also the @option{-mabsdata} @ref{AVR Options,command-line option}.
+
@end table
@node Blackfin Variable Attributes
Assume that all data in static storage can be accessed by LDS / STS
instructions. This option has only an effect on reduced Tiny devices like
-ATtiny40.
+ATtiny40. See also the @code{absdata}
+@ref{AVR Variable Attributes,variable attribute}.
@item -maccumulate-args
@opindex maccumulate-args