From 27e771747fdb9181e436a401fb1c2c44444e220f Mon Sep 17 00:00:00 2001 From: "Earle F. Philhower, III" Date: Thu, 11 Dec 2025 12:43:30 -0800 Subject: [PATCH] Move Newlib lLocale table to flash, save RAM Newlib doesn't really support locale operations, so the global locale can be considered const. Move it to only live in flash, freeing up 360 bytes of RAM for apps. --- lib/rp2040/memmap_default.ld | 2 ++ lib/rp2350-riscv/memmap_default.ld | 2 ++ lib/rp2350/memmap_default.ld | 2 ++ 3 files changed, 6 insertions(+) diff --git a/lib/rp2040/memmap_default.ld b/lib/rp2040/memmap_default.ld index e323b010d..edff00bce 100644 --- a/lib/rp2040/memmap_default.ld +++ b/lib/rp2040/memmap_default.ld @@ -136,6 +136,8 @@ SECTIONS . = ALIGN(4); *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*))) . = ALIGN(4); + *libc_a-locale.o(.data) + . = ALIGN(4); } > FLASH .ARM.extab : diff --git a/lib/rp2350-riscv/memmap_default.ld b/lib/rp2350-riscv/memmap_default.ld index abf993aa3..6bbb83be3 100644 --- a/lib/rp2350-riscv/memmap_default.ld +++ b/lib/rp2350-riscv/memmap_default.ld @@ -149,6 +149,8 @@ SECTIONS . = ALIGN(4); *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*))) . = ALIGN(4); + *libc_a-locale.o(.data) + . = ALIGN(4); } > FLASH .ARM.extab : diff --git a/lib/rp2350/memmap_default.ld b/lib/rp2350/memmap_default.ld index abf993aa3..6bbb83be3 100644 --- a/lib/rp2350/memmap_default.ld +++ b/lib/rp2350/memmap_default.ld @@ -149,6 +149,8 @@ SECTIONS . = ALIGN(4); *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*))) . = ALIGN(4); + *libc_a-locale.o(.data) + . = ALIGN(4); } > FLASH .ARM.extab :