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