From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: by sourceware.org (Postfix, from userid 1733)
id 7FA073858D20; Sun, 14 Jan 2024 18:29:01 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7FA073858D20
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org;
s=default; t=1705256941;
bh=pfHxSyi6Gz0MpeUd3OmoA1M32iHmNLcmEOTIqtr2+xQ=;
h=To:Subject:Date:From:From;
b=nqomHR3P6WiFjJ0QNrTMKbJtslJMGKoZP+YVw7XwqItm6SMtZ2shUCTzK1QAPcbtE
Na/+hPHyIvqd6tw3XmdKWb5hUmD9hXimB8GBtGyQEocwTmNRZ0vjEbzo9eQbKhZW91
SppBRiZOO2WhLE3uvrGanbxVBjqSbVw7HNXYBTXo=
To: gcc-cvs-wwwdocs@gcc.gnu.org
Subject: gcc-wwwdocs branch master updated. 85a8ec415e3b9bf6871e2a1a2dd5019cdde9473a
X-Git-Refname: refs/heads/master
X-Git-Reftype: branch
X-Git-Oldrev: c96bb3dbec121b426fc809969e1193a3fdb66e47
X-Git-Newrev: 85a8ec415e3b9bf6871e2a1a2dd5019cdde9473a
Message-Id: <20240114182901.7FA073858D20@sourceware.org>
Date: Sun, 14 Jan 2024 18:29:01 +0000 (GMT)
From: Georg-Johann Lay
List-Id:
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
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.
-
+AVR
+
+ - On AVR64* and AVR128* devices, read-only data is now located in program
+ memory per default and no more in RAM.
+
+ - 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
__flmap
.
+ As an alternative, the byte address of the block can be specified
+ by symbol __RODATA_FLASH_START__
which takes
+ precedence over __flmap
.
+ - The default uses the last 32 KiB block, which is also the
+ hardware default for bit field
NVMCTRL_CTRLB.FLMAP
.
+ - When a block other than the last 32 KiB block is used to store
+ .rodata, then
NVMCTRL_CTRLB.FLMAP
+ must be initialized accordingly by hand, or a version of
+ AVR-LibC that implements #931
+ must be used. The latter initializes NVMCTRL_CTRLB.FLMAP
+ in the startup code and according to the value
+ of __flmap
resp.
+ __RODATA_FLASH_START__
.
+ - When AVR-LibC with #931 is used, then defining symbol
+
__flmap_lock
to a non-zero value will set bit
+ NVMCTRL_CTRLB.FLMAPLOCK
. This will protect
+ NVMCTRL_CTRLB.FLMAP
from any further changes —
+ which would be Undefined Behaviour in C/C++.
+ - In order to return to the old placement of read-only data in RAM,
+ the new compiler option
-mrodata-in-ram
can be used.
+ - Read-only data is located in output section
.rodata
,
+ wheras it is part of .text
when located in RAM.
+ - The feature is only available when the compiler is configured
+ with a version of Binutils that implements
+ PR31124, which is the
+ case for Binutils v2.42 and up.
+
+
+ - A new compiler option
-m[no]-rodata-in-ram
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
+ avrxmega3
+ and
+ avrtiny families.
+
+ - The new built-in macro
__AVR_RODATA_IN_RAM__
is supported
+ on all devices. Its defined to 0
or 1
.
+
+
IA-32/x86-64
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-14/changes.html | 50 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 49 insertions(+), 1 deletion(-)
hooks/post-receive
--
gcc-wwwdocs