From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: by sourceware.org (Postfix, from userid 1733)
id A341F3858C52; Tue, 13 Feb 2024 12:58:12 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A341F3858C52
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org;
s=default; t=1707829092;
bh=CG496+NU3JzySCSEheVH1E/AeFdUDcJdfVt++qt56IM=;
h=To:Subject:Date:From:From;
b=KfsjWc8mqt2RYJiqlJjhSqdMhGfPUlRNjRZgD6fP2TEa2Ve6y0yIeBK2jIFodkp1r
zxSLsLtEUCpNIeuDtmfeEwDdYyIZnEGt0R4atQeaFlozX0yT4UdUjr1RXfgX7SQZuP
48Q1oCMR9Mh96M5vGaKpXCVWMt3PHXpKWw1np7SU=
To: gcc-cvs-wwwdocs@gcc.gnu.org
Subject: gcc-wwwdocs branch master updated. 2aad86e498b9ce0dd512bd42d35a2d380c53db18
X-Git-Refname: refs/heads/master
X-Git-Reftype: branch
X-Git-Oldrev: 34ef454fe986414fdf13731dd438998206e8aa09
X-Git-Newrev: 2aad86e498b9ce0dd512bd42d35a2d380c53db18
Message-Id: <20240213125812.A341F3858C52@sourceware.org>
Date: Tue, 13 Feb 2024 12:58:12 +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 2aad86e498b9ce0dd512bd42d35a2d380c53db18 (commit)
from 34ef454fe986414fdf13731dd438998206e8aa09 (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 2aad86e498b9ce0dd512bd42d35a2d380c53db18
Author: Georg-Johann Lay
Date: Tue Feb 13 13:56:13 2024 +0100
gcc-14: AVR: Add some clarifications.
diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html
index 83fdc813..713f5139 100644
--- a/htdocs/gcc-14/changes.html
+++ b/htdocs/gcc-14/changes.html
@@ -363,17 +363,19 @@ a work-in-progress.
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
.
+ and access .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
.
+ precedence over __flmap
.
+ For example, linking with
+ -Wl,--defsym,__RODATA_FLASH_START__=32k
+ choses the second 32 KiB block.
- 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 When a non-default block is used,
+ then NVMCTRL_CTRLB.FLMAP
must be initialized accordingly
+ by hand, or AVR-LibC v2.2 that implements #931
can be used. The latter initializes NVMCTRL_CTRLB.FLMAP
in the startup code and according to the value
@@ -383,7 +385,11 @@ a work-in-progress.
__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++.
+ which would be Undefined Behaviour in C/C++. If you prefer to define
+ the symbol in a C/C++ file, an asm
statement
+ can be used:
+__asm (".global __flmap_lock" "\n\t"
+ "__flmap_lock = 1");
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
,
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-14/changes.html | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
hooks/post-receive
--
gcc-wwwdocs