aboutsummaryrefslogtreecommitdiff
path: root/packages/gcc/12.2.0/0007-Support-picolibc-targets.patch
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2023-02-22 22:32:08 -0800
committerChris Packham <judge.packham@gmail.com>2023-03-08 16:54:12 +1300
commit90cbc880af2d979468b17529abf465b61b8433ae (patch)
treeff6e72eb4b6a418de67e6355d2e4e15f5efa22fd /packages/gcc/12.2.0/0007-Support-picolibc-targets.patch
parent8a9d371d06979f95ae590067678052fd6e2b373f (diff)
downloadcrosstool-ng-90cbc880af2d979468b17529abf465b61b8433ae.tar.gz
crosstool-ng-90cbc880af2d979468b17529abf465b61b8433ae.tar.bz2
crosstool-ng-90cbc880af2d979468b17529abf465b61b8433ae.zip
packages/gcc/12.2.0: Add picolibc patches
These patches allow picolibc to act as the system C library within gcc. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'packages/gcc/12.2.0/0007-Support-picolibc-targets.patch')
-rw-r--r--packages/gcc/12.2.0/0007-Support-picolibc-targets.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/gcc/12.2.0/0007-Support-picolibc-targets.patch b/packages/gcc/12.2.0/0007-Support-picolibc-targets.patch
new file mode 100644
index 00000000..01dbba87
--- /dev/null
+++ b/packages/gcc/12.2.0/0007-Support-picolibc-targets.patch
@@ -0,0 +1,38 @@
+From 41b20e994970f0ae63fb3f49c6f89a0b2f06aecb Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Sun, 12 Feb 2023 14:23:32 -0800
+Subject: [PATCH 7/9] Support picolibc targets
+
+Match *-picolibc-* and select picolibc as the default C library, plus continuing to use
+the newlib-based logic for other configuration items.
+
+Signed-off-by: Keith Packard <keithp@keithp.com>
+---
+ gcc/config.gcc | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index e294ff8fbc8..06af4057079 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -1082,6 +1082,17 @@ case ${target} in
+ ;;
+ esac
+ ;;
++*-picolibc-*)
++ # __cxa_atexit is provided.
++ default_use_cxa_atexit=yes
++ use_gcc_stdint=wrap
++ default_libc=LIBC_PICOLIBC
++ case "${with_newlib}-${with_headers}" in
++ no-no) use_gcc_stdint=provide ;;
++ *) ;;
++ esac
++ ;;
++
+ *-*-elf|arc*-*-elf*)
+ # Assume that newlib is being used and so __cxa_atexit is provided.
+ default_use_cxa_atexit=yes
+--
+2.39.0
+