summaryrefslogtreecommitdiff
path: root/packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2021-01-08 01:23:33 (GMT)
committerKeith Packard <keithp@keithp.com>2021-01-09 01:48:33 (GMT)
commitf7c033cd109c3eaf2d328d407855b272f74c1438 (patch)
treedb8fdf26fda7ca988ac08f29fff9b90c8ae40c5e /packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch
parent7e457684ea05795be91265cc5bc0320995288871 (diff)
picolibc: Pull compatibility patches from upstream
1. Allows picolibc's stdio to be used with c++ applications 2. Includes arm exception information in link rules 3. Adds picolibc include directory to c++ header paths. These patches are all upstream in picolibc and included in version 1.5. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch')
-rw-r--r--packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch b/packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch
new file mode 100644
index 0000000..7fd254d
--- /dev/null
+++ b/packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch
@@ -0,0 +1,36 @@
+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(+)
+
+diff --git a/picolibc.ld b/picolibc.ld
+index 6d14b396f..ff60fe3a3 100644
+--- a/picolibc.ld
++++ b/picolibc.ld
+@@ -94,6 +94,16 @@ SECTIONS
+ *(.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 : {
+--
+2.28.0
+