aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0008-add-some-ARM-EABI-specific-exception-handling-infras.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/musl/0008-add-some-ARM-EABI-specific-exception-handling-infras.patch')
-rw-r--r--main/musl/0008-add-some-ARM-EABI-specific-exception-handling-infras.patch66
1 files changed, 0 insertions, 66 deletions
diff --git a/main/musl/0008-add-some-ARM-EABI-specific-exception-handling-infras.patch b/main/musl/0008-add-some-ARM-EABI-specific-exception-handling-infras.patch
deleted file mode 100644
index 85557f2f6d..0000000000
--- a/main/musl/0008-add-some-ARM-EABI-specific-exception-handling-infras.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From f39afb9ffb34b747bfc1ec9d77b239c0c32a754d Mon Sep 17 00:00:00 2001
-From: Rich Felker <dalias@aerifal.cx>
-Date: Wed, 10 Jul 2013 16:11:01 -0400
-Subject: [PATCH 08/10] add some ARM EABI-specific exception handling
- infrastructure
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-patch by Timo Teräs
----
- arch/arm/src/find_exidx.c | 42 ++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 42 insertions(+)
- create mode 100644 arch/arm/src/find_exidx.c
-
-diff --git a/arch/arm/src/find_exidx.c b/arch/arm/src/find_exidx.c
-new file mode 100644
-index 0000000..77c4472
---- /dev/null
-+++ b/arch/arm/src/find_exidx.c
-@@ -0,0 +1,42 @@
-+#define _GNU_SOURCE
-+#include <link.h>
-+#include <stdint.h>
-+
-+struct find_exidx_data {
-+ uintptr_t pc, exidx_start;
-+ int exidx_len;
-+};
-+
-+static int find_exidx(struct dl_phdr_info *info, size_t size, void *ptr)
-+{
-+ struct find_exidx_data *data = ptr;
-+ const ElfW(Phdr) *phdr = info->dlpi_phdr;
-+ uintptr_t addr, exidx_start = 0;
-+ int i, match = 0, exidx_len = 0;
-+
-+ for (i = info->dlpi_phnum; i > 0; i--, phdr++) {
-+ addr = info->dlpi_addr + phdr->p_vaddr;
-+ switch (phdr->p_type) {
-+ case PT_LOAD:
-+ match |= data->pc >= addr && data->pc < addr + phdr->p_memsz;
-+ break;
-+ case PT_ARM_EXIDX:
-+ exidx_start = addr;
-+ exidx_len = phdr->p_memsz;
-+ break;
-+ }
-+ }
-+ data->exidx_start = exidx_start;
-+ data->exidx_len = exidx_len;
-+ return match;
-+}
-+
-+uintptr_t __gnu_Unwind_Find_exidx(uintptr_t pc, int *pcount)
-+{
-+ struct find_exidx_data data;
-+ data.pc = pc;
-+ if (dl_iterate_phdr(find_exidx, &data) <= 0)
-+ return 0;
-+ *pcount = data.exidx_len / 8;
-+ return data.exidx_start;
-+}
---
-1.8.3.2
-