invoke.texi (AVR Options): Point to absdata.
authorGeorg-Johann Lay <avr@gjlay.de>
Fri, 2 Dec 2016 09:05:56 +0000 (09:05 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Fri, 2 Dec 2016 09:05:56 +0000 (09:05 +0000)
* 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.

From-SVN: r243170

gcc/ChangeLog
gcc/doc/extend.texi
gcc/doc/invoke.texi

index 260a66d9e8b7960c20dd6a6e10fba518eb1bd47f..d50f546f9fafc592d087df42644e879d597d2493 100644 (file)
@@ -1,3 +1,10 @@
+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
index d873403f4537359e02c7bcd2b59da2ff3c0f8418..c40e289c966502ccc6582a5ae17cee02fc6eed84 100644 (file)
@@ -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
index 8a0cad7b078e7b1576944277023c287904994f0b..fd549ec11c7ee87d89080e0136317885eb050264 100644 (file)
@@ -15402,7 +15402,8 @@ GCC supports the following AVR devices and ISAs:
 
 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