===================================================================
@@ -5929,6 +5929,30 @@ int read_var (int i)
@}
@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
@@ -6001,6 +6025,8 @@ warning like
@end itemize
+See also the @option{-mabsdata} @ref{AVR Options,command-line option}.
+
@end table
@node Blackfin Variable Attributes
===================================================================
@@ -15402,7 +15402,8 @@ GCC supports the following AVR devices a
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