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