diff --git a/config/libc/newlib.in b/config/libc/newlib.in
index 7bba2293..9b01fa15 100644
--- a/config/libc/newlib.in
+++ b/config/libc/newlib.in
@@ -113,6 +113,7 @@ config LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC
 config LIBC_NEWLIB_GLOBAL_ATEXIT
     bool
     prompt "Enable atexit data structure as global variable"
+    default y
     help
         Enable atexit data structure as global variable.  By doing so it is
         move out of _reent structure, and can be garbage collected if atexit
diff --git a/packages/newlib-nano/4.3.0.20230120 b/packages/newlib-nano/4.3.0.20230120
new file mode 120000
index 00000000..2ff91cc9
--- /dev/null
+++ b/packages/newlib-nano/4.3.0.20230120
@@ -0,0 +1 @@
+../newlib/4.3.0.20230120
\ No newline at end of file
diff --git a/packages/newlib/4.3.0.20230120/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/4.3.0.20230120/0000-fix-unaligned-access-memcpy-m68k.patch
new file mode 100644
index 00000000..b6709d5a
--- /dev/null
+++ b/packages/newlib/4.3.0.20230120/0000-fix-unaligned-access-memcpy-m68k.patch
@@ -0,0 +1,25 @@
+The m68k mcpu processor does not like unaligned access
+
+Disable at least mcpu32, m68010 and m68020. These processors certainly
+do not like unaligned accesses.
+
+Signed-off-by: Remy Bohmer <linux@bohmer.net>
+[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
+[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
+Signed-off-by: Austin Morton <austinpmorton@gmail.com>
+---
+ newlib/libc/machine/m68k/memcpy.S |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/newlib/libc/machine/m68k/memcpy.S
++++ b/newlib/libc/machine/m68k/memcpy.S
+@@ -15,7 +15,7 @@
+ 
+ #include "m68kasm.h"
+ 
+-#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__)
++#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__)
+ # define MISALIGNED_OK 1
+ #else
+ # define MISALIGNED_OK 0
diff --git a/packages/newlib/4.3.0.20230120/0001-fix-mt-cflags.patch b/packages/newlib/4.3.0.20230120/0001-fix-mt-cflags.patch
new file mode 100644
index 00000000..24a9215d
--- /dev/null
+++ b/packages/newlib/4.3.0.20230120/0001-fix-mt-cflags.patch
@@ -0,0 +1,13 @@
+---
+ config/mt-d30v |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/config/mt-d30v
++++ b/config/mt-d30v
+@@ -1,4 +1,4 @@
+ # Build libraries optimizing for space, not speed.
+ # Turn off warnings about symbols named the same as registers
+- CFLAGS_FOR_TARGET = -g -Os -Wa,-C
+- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C
++ CFLAGS_FOR_TARGET += -g -Os -Wa,-C
++ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C
diff --git a/packages/newlib/4.3.0.20230120/0002-libc-arm-Implement-setjmp-GCC-backwards-compatibilit.patch b/packages/newlib/4.3.0.20230120/0002-libc-arm-Implement-setjmp-GCC-backwards-compatibilit.patch
new file mode 100644
index 00000000..b3276cc8
--- /dev/null
+++ b/packages/newlib/4.3.0.20230120/0002-libc-arm-Implement-setjmp-GCC-backwards-compatibilit.patch
@@ -0,0 +1,55 @@
+From c6e601de84ea9f2be2b026c609cc3c1fe82a3103 Mon Sep 17 00:00:00 2001
+From: "Victor L. Do Nascimento" <victor.donascimento@arm.com>
+Date: Fri, 3 Feb 2023 11:15:26 +0000
+Subject: [PATCH] libc: arm: Implement setjmp GCC backwards compatibility.
+
+When compiling Newlib for arm targets with GCC 12.1 onward, the
+passing of architecture extension information to the assembler is
+automatic, making the use of .fpu and .arch_extension directives
+in assembly files redundant.
+
+With older versions of GCC, however, these directives must be
+hard-coded into the `arm/setjmp.S' file to allow the assembly of
+instructions concerning the storage and subsequent reloading of the
+floating point registers to/from the jump buffer, respectively.
+
+This patch conditionally adds the `.fpu vfpxd' and `.arch_extension
+mve' directives based on compile-time preprocessor macros concerning
+GCC version and target architectural features, such that both the
+assembly and linking of setjmp.S succeeds for older versions of
+Newlib.
+---
+ newlib/libc/machine/arm/setjmp.S |   22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+--- a/newlib/libc/machine/arm/setjmp.S
++++ b/newlib/libc/machine/arm/setjmp.S
+@@ -64,6 +64,28 @@
+ 
+ 	.syntax unified
+ 
++/*  GCC 12.1 and later will tell the assembler exactly which floating
++    point (or MVE) unit is required and we don't want to override
++    that.  Conversely, older versions of the compiler don't pass this
++    information so we need to enable the VFP version that is most
++    appropriate.  The choice here should support all suitable VFP
++    versions that the older toolchains can handle.  */
++#if __GNUC__ && __GNUC__ < 12
++/*  Ensure that FPU instructions are correctly compiled and, likewise,
++    the appropriate build attributes are added to the resulting object
++    file.  Check whether the MVE extension is present and whether
++    we have support for hardware floating point-operations.  VFPxd
++    covers all the cases we need in this file for hardware
++    floating-point and should be compatible with all required FPUs
++    that we need to support.  */
++# if __ARM_FP
++	.fpu vfpxd
++# endif
++# if __ARM_FEATURE_MVE
++	.arch_extension mve
++# endif
++#endif
++
+ #if __ARM_ARCH_ISA_THUMB == 1 && !__ARM_ARCH_ISA_ARM
+ /* ARMv6-M-like has to be implemented in Thumb mode.  */
+ 
diff --git a/packages/newlib/4.3.0.20230120/chksum b/packages/newlib/4.3.0.20230120/chksum
new file mode 100644
index 00000000..a2fa7528
--- /dev/null
+++ b/packages/newlib/4.3.0.20230120/chksum
@@ -0,0 +1,4 @@
+md5 newlib-4.3.0.20230120.tar.gz 6adcadd40af12376220b73f2574b4b6f
+sha1 newlib-4.3.0.20230120.tar.gz 1fe9b5ba44a4dd0f1fc49831964053458a834ef6
+sha256 newlib-4.3.0.20230120.tar.gz 83a62a99af59e38eb9b0c58ed092ee24d700fff43a22c03e433955113ef35150
+sha512 newlib-4.3.0.20230120.tar.gz 4a06309d36c2255fef8fc8f2d133cafa850f1ed2eddfb27b5d45f5d16af69e0fca829a0b4c9b34af4ed3a28c6fcc929761e0ee823a4229f35c2853d432b5e7ef
diff --git a/packages/newlib/4.3.0.20230120/version.desc b/packages/newlib/4.3.0.20230120/version.desc
new file mode 100644
index 00000000..e69de29b