public inbox for gcc-cvs-wwwdocs@sourceware.org help / color / mirror / Atom feed
From: Georg-Johann Lay <gjl@sourceware.org> To: gcc-cvs-wwwdocs@gcc.gnu.org Subject: gcc-wwwdocs branch master updated. 85a8ec415e3b9bf6871e2a1a2dd5019cdde9473a Date: Sun, 14 Jan 2024 18:29:01 +0000 (GMT) [thread overview] Message-ID: <20240114182901.7FA073858D20@sourceware.org> (raw) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gcc-wwwdocs". The branch, master has been updated via 85a8ec415e3b9bf6871e2a1a2dd5019cdde9473a (commit) from c96bb3dbec121b426fc809969e1193a3fdb66e47 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 85a8ec415e3b9bf6871e2a1a2dd5019cdde9473a Author: Georg-Johann Lay <avr@gjlay.de> Date: Sun Jan 14 19:28:00 2024 +0100 AVR: Mention new option -mrodata-in-ram and changes for the AVR64* and AVR128* devices. diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html index 9c9dfa44..8c738683 100644 --- a/htdocs/gcc-14/changes.html +++ b/htdocs/gcc-14/changes.html @@ -342,7 +342,55 @@ a work-in-progress.</p> </li> </ul> -<!-- <h3 id="avr">AVR</h3> --> +<h3 id="avr">AVR</h3> +<ul> + <li>On AVR64* and AVR128* devices, read-only data is now located in program + memory per default and no more in RAM. + <ul> + <li>Only a 32 KiB block of program memory can be used to store + .rodata in that way. Which block is used can be selected by + defining symbol <code>__flmap</code>. + As an alternative, the byte address of the block can be specified + by symbol <code>__RODATA_FLASH_START__</code> which takes + precedence over <code>__flmap</code>.</li> + <li>The default uses the last 32 KiB block, which is also the + hardware default for bit field <code>NVMCTRL_CTRLB.FLMAP</code>.</li> + <li>When a block other than the last 32 KiB block is used to store + .rodata, then <code>NVMCTRL_CTRLB.FLMAP</code> + must be initialized accordingly by hand, or a version of + AVR-LibC that implements <a + href="https://github.com/avrdudes/avr-libc/issues/931">#931</a> + must be used. The latter initializes <code>NVMCTRL_CTRLB.FLMAP</code> + in the startup code and according to the value + of <code>__flmap</code> resp. + <code>__RODATA_FLASH_START__</code>.</li> + <li>When AVR-LibC with #931 is used, then defining symbol + <code>__flmap_lock</code> to a non-zero value will set bit + <code>NVMCTRL_CTRLB.FLMAPLOCK</code>. This will protect + <code>NVMCTRL_CTRLB.FLMAP</code> from any further changes — + which would be Undefined Behaviour in C/C++.</li> + <li>In order to return to the old placement of read-only data in RAM, + the new compiler option <code>-mrodata-in-ram</code> can be used.</li> + <li>Read-only data is located in output section <code>.rodata</code>, + wheras it is part of <code>.text</code> when located in RAM.</li> + <li>The feature is only available when the compiler is configured + with a version of Binutils that implements + <a href="https://sourceware.org/PR31124">PR31124</a>, which is the + case for Binutils v2.42 and up.</li> + </ul> + </li> + <li>A new compiler option <code>-m[no]-rodata-in-ram</code> has been added. + The default is to locate read-only data in program memory for devices that + support it, e.g. for AVR64* and AVR128* devices as explained above, + and for devices from the + <a href="https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html#avrxmega3">avrxmega3</a> + and + <a href="https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html#avrtiny">avrtiny</a> families. + </li> + <li>The new built-in macro <code>__AVR_RODATA_IN_RAM__</code> is supported + on all devices. Its defined to <code>0</code> or <code>1</code>. + </li> +</ul> <h3 id="x86">IA-32/x86-64</h3> <ul> ----------------------------------------------------------------------- Summary of changes: htdocs/gcc-14/changes.html | 50 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) hooks/post-receive -- gcc-wwwdocs
reply other threads:[~2024-01-14 18:29 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240114182901.7FA073858D20@sourceware.org \ --to=gjl@sourceware.org \ --cc=gcc-cvs-wwwdocs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).