aboutsummaryrefslogtreecommitdiff
path: root/packages/picolibc/1.4.7
diff options
context:
space:
mode:
Diffstat (limited to 'packages/picolibc/1.4.7')
-rw-r--r--packages/picolibc/1.4.7/0000-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch150
-rw-r--r--packages/picolibc/1.4.7/0001-Add-ARM-exception-information-to-link-rules.patch31
-rw-r--r--packages/picolibc/1.4.7/0002-Add-picolibc-include-directory-to-cc1plus-spec.patch26
-rw-r--r--packages/picolibc/1.4.7/chksum4
-rw-r--r--packages/picolibc/1.4.7/version.desc1
5 files changed, 0 insertions, 212 deletions
diff --git a/packages/picolibc/1.4.7/0000-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch b/packages/picolibc/1.4.7/0000-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch
deleted file mode 100644
index 4b3ecbdf..00000000
--- a/packages/picolibc/1.4.7/0000-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 2adb30bd8e64bf06fb5366585e305c28c4325e01 Mon Sep 17 00:00:00 2001
-From: Keith Packard <keithp@keithp.com>
-Date: Tue, 3 Nov 2020 16:36:48 -0800
-Subject: [PATCH] tinystdio: Make ungetc buffer type purely
- architecture-specific
-
-Instead of attempting to figure out what type this object should be
-based on compiler support for atomics, just make it 32-bits on RISC-V
-when using atomic ungetc, otherwise make it 16-bits, then select
-whether there are 'real' atomics based on compiler support for the
-chosen type, which may depend on the compiler options used to build
-the library.
-
-This ensures that the picolibc ABI is consistent for each
-architecture.
-
-This also removes the use of stdatomic.h from stdio.h, which isn't
-supported by C++.
-
-Signed-off-by: Keith Packard <keithp@keithp.com>
----
- newlib/libc/tinystdio/exchange.c | 2 -
- newlib/libc/tinystdio/stdio.h | 39 +++++++++++++---------------------
- newlib/libc/tinystdio/stdio_private.h | 24 ++++++++++++++------
- 3 files changed, 34 insertions(+), 31 deletions(-)
-
---- a/newlib/libc/tinystdio/exchange.c
-+++ b/newlib/libc/tinystdio/exchange.c
-@@ -39,7 +39,7 @@
- #if defined(ATOMIC_UNGETC) && !defined(PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP)
-
- __ungetc_t
--__picolibc_non_atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v)
-+__picolibc_non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v)
- {
- return __non_atomic_exchange_ungetc(p, v);
- }
---- a/newlib/libc/tinystdio/stdio.h
-+++ b/newlib/libc/tinystdio/stdio.h
-@@ -224,38 +224,31 @@
- * elements of it beyond by using the official interfaces provided.
- */
-
--/* Use 32-bit ungetc storage when doing atomic ungetc and when
-- * the platform has 4-byte swap intrinsics but not 2-byte swap
-- * intrinsics, as is the case for RISC-V processors. This increases
-- * the size of the __file struct by four bytes.
-- */
--
- #ifdef ATOMIC_UNGETC
--#include <stdatomic.h>
--# ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
--
--# define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP
--typedef atomic_uint_least32_t __ungetc_store_t;
--typedef uint_least32_t __ungetc_t;
--
--# else
--# ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
-+#ifdef __riscv
-+/*
-+ * Use 32-bit ungetc storage when doing atomic ungetc on RISC-V, which
-+ * has 4-byte swap intrinsics but not 2-byte swap intrinsics. This
-+ * increases the size of the __file struct by four bytes.
-+ */
-+#define __PICOLIBC_UNGETC_SIZE 4
-+#endif
-+#endif
-
--# define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP
--typedef atomic_uint_least16_t __ungetc_store_t;
--typedef uint_least16_t __ungetc_t;
-+#ifndef __PICOLIBC_UNGETC_SIZE
-+#define __PICOLIBC_UNGETC_SIZE 2
-+#endif
-
--# endif
--# endif
-+#if __PICOLIBC_UNGETC_SIZE == 4
-+typedef uint32_t __ungetc_t;
- #endif
-
--#ifndef PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP
--typedef uint16_t __ungetc_store_t;
-+#if __PICOLIBC_UNGETC_SIZE == 2
- typedef uint16_t __ungetc_t;
- #endif
-
- struct __file {
-- __ungetc_store_t unget; /* ungetc() buffer */
-+ __ungetc_t unget; /* ungetc() buffer */
- uint8_t flags; /* flags, see below */
- #define __SRD 0x0001 /* OK to read */
- #define __SWR 0x0002 /* OK to write */
---- a/newlib/libc/tinystdio/stdio_private.h
-+++ b/newlib/libc/tinystdio/stdio_private.h
-@@ -141,7 +141,7 @@
- __atof_engine(uint32_t m10, int e10);
-
- static inline uint16_t
--__non_atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v)
-+__non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v)
- {
- __ungetc_t e = *p;
- *p = v;
-@@ -159,28 +159,38 @@
-
- #ifdef ATOMIC_UNGETC
-
-+#if __PICOLIBC_UNGETC_SIZE == 4 && defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
-+#define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP
-+#endif
-+
-+#if __PICOLIBC_UNGETC_SIZE == 2 && defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2)
-+#define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP
-+#endif
-+
- #ifdef PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP
-
- /* Use built-in atomic functions if they exist */
- #include <stdatomic.h>
- static inline bool
--__atomic_compare_exchange_ungetc(__ungetc_store_t *p, __ungetc_t d, __ungetc_t v)
-+__atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v)
- {
-- return atomic_compare_exchange_weak(p, &d, v);
-+ _Atomic __ungetc_t *pa = (_Atomic __ungetc_t *) p;
-+ return atomic_compare_exchange_weak(pa, &d, v);
- }
- static inline __ungetc_t
--__atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v)
-+__atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v)
- {
-- return atomic_exchange_explicit(p, v, memory_order_relaxed);
-+ _Atomic __ungetc_t *pa = (_Atomic __ungetc_t *) p;
-+ return atomic_exchange_explicit(pa, v, memory_order_relaxed);
- }
-
- #else
-
- bool
--__atomic_compare_exchange_ungetc(__ungetc_store_t *p, __ungetc_t d, __ungetc_t v);
-+__atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v);
-
- __ungetc_t
--__atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v);
-+__atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v);
-
- #endif /* PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP */
-
diff --git a/packages/picolibc/1.4.7/0001-Add-ARM-exception-information-to-link-rules.patch b/packages/picolibc/1.4.7/0001-Add-ARM-exception-information-to-link-rules.patch
deleted file mode 100644
index 233eafa1..00000000
--- a/packages/picolibc/1.4.7/0001-Add-ARM-exception-information-to-link-rules.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9c39c93d4897c9ee1659dd6df7433d097a84be4a Mon Sep 17 00:00:00 2001
-From: Keith Packard <keithp@keithp.com>
-Date: Wed, 4 Nov 2020 17:36:14 -0800
-Subject: [PATCH] Add ARM exception information to link rules
-
-Place any ARM exeception information in ROM for C++ support.
-
-Signed-off-by: Keith Packard <keithp@keithp.com>
----
- picolibc.ld | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/picolibc.ld
-+++ b/picolibc.ld
-@@ -94,6 +94,16 @@
- *(.got .got.*)
- } >flash AT>flash :text
-
-+ .ARM.extab : {
-+ *(.ARM.extab* .gnu.linkonce.armextab.*)
-+ } >flash AT>flash :text
-+
-+ PROVIDE (__exidx_start = .);
-+ .ARM.exidx : {
-+ *(.ARM.exidx*)
-+ } >flash AT>flash :text
-+ PROVIDE(__exidx_end = .);
-+
- . = ALIGN(8);
-
- .preinit_array : {
diff --git a/packages/picolibc/1.4.7/0002-Add-picolibc-include-directory-to-cc1plus-spec.patch b/packages/picolibc/1.4.7/0002-Add-picolibc-include-directory-to-cc1plus-spec.patch
deleted file mode 100644
index 267e1b25..00000000
--- a/packages/picolibc/1.4.7/0002-Add-picolibc-include-directory-to-cc1plus-spec.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 1f6b3ddcbba7432a5b2f1061f24297989d6ce791 Mon Sep 17 00:00:00 2001
-From: Keith Packard <keithp@keithp.com>
-Date: Mon, 9 Nov 2020 13:02:44 -0800
-Subject: [PATCH] Add picolibc include directory to cc1plus spec
-
-G++ doesn't use the cpp spec to add include directories, so we need to
-add the picolibc include directory to the cc1plus spec element as well
-as the cpp one. To make sure the libstdc++ headers can use
-GCC-provided header directories, so use -idirafter instead of -isystem.
-
-Signed-off-by: Keith Packard <keithp@keithp.com>
----
- picolibc.specs.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/picolibc.specs.in
-+++ b/picolibc.specs.in
-@@ -10,7 +10,7 @@
- @TLSMODEL@ %(picolibc_cc1) @CC1_SPEC@
-
- *cc1plus:
--@TLSMODEL@ %(picolibc_cc1plus) @CC1_SPEC@ @CC1PLUS_SPEC@
-+-idirafter @INCLUDEDIR@ @TLSMODEL@ %(picolibc_cc1plus) @CC1_SPEC@ @CC1PLUS_SPEC@
-
- *link:
- @SPECS_PRINTF@ -L@LIBDIR@/%M -L@LIBDIR@ %{!T:-Tpicolibc.ld} %(picolibc_link) --gc-sections @LINK_SPEC@
diff --git a/packages/picolibc/1.4.7/chksum b/packages/picolibc/1.4.7/chksum
deleted file mode 100644
index c4f720fc..00000000
--- a/packages/picolibc/1.4.7/chksum
+++ /dev/null
@@ -1,4 +0,0 @@
-md5 picolibc-1.4.7.tar.xz 4df52b4441c2936b58c450be9235f8e9
-sha1 picolibc-1.4.7.tar.xz 22577e9006e605490e6e46c10635d64b7fe20225
-sha256 picolibc-1.4.7.tar.xz 6413815591733e0cf04fb8d8eb9c9652984f65f81b4fb2888d3ab988b5f24b91
-sha512 picolibc-1.4.7.tar.xz e6a249b3e6910f94aca1d235926fc2804a3e8460ebce460a3e116b07709b70db698eaff40ce9aaeaaaa3b9f2e7ad923b74d4f87fa80993b3252415f80e7988ec
diff --git a/packages/picolibc/1.4.7/version.desc b/packages/picolibc/1.4.7/version.desc
deleted file mode 100644
index fcfe3891..00000000
--- a/packages/picolibc/1.4.7/version.desc
+++ /dev/null
@@ -1 +0,0 @@
-obsolete='yes'