summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn-Mark Bell <jmb@netsurf-browser.org>2022-06-03 23:27:50 +0100
committerJohn-Mark Bell <jmb@netsurf-browser.org>2022-11-03 18:29:13 +0000
commit69225d5a4cb95bcd05e7472afeebf6344d2b4c8c (patch)
tree2786c1034b5b94991f6bad35d8bb61f1c37141be
parent655556b9ad98c92f57899fcb917a29f462b99a5e (diff)
downloadtoolchains-69225d5a4cb95bcd05e7472afeebf6344d2b4c8c.tar.gz
toolchains-69225d5a4cb95bcd05e7472afeebf6344d2b4c8c.tar.bz2
Revert "Fix stack backtraces from UnixLib"
This reverts commit 7f53178a4cdbed363328a5fa60bead742bd628aa. It turns out that the situation with stack frames in the EABI toolchain is currently completely inconsistent. Some functions end up with APCS-32 stack frames, others with AAPCS frames. It is not reliably possible to distinguish which is which when unwinding the stack to generate a backtrace. It also means that the signal stack frame created in _signal.s would need to reflect whatever reality made sense for the function that aborted. Give up.
-rw-r--r--arm-riscos-gnueabihf/recipes/patches/gccsdk/unixlib-backtrace.p37
1 files changed, 0 insertions, 37 deletions
diff --git a/arm-riscos-gnueabihf/recipes/patches/gccsdk/unixlib-backtrace.p b/arm-riscos-gnueabihf/recipes/patches/gccsdk/unixlib-backtrace.p
deleted file mode 100644
index 2c971cd..0000000
--- a/arm-riscos-gnueabihf/recipes/patches/gccsdk/unixlib-backtrace.p
+++ /dev/null
@@ -1,37 +0,0 @@
---- libunixlib/signal/post.c 2021-06-15 21:42:03.000000000 +0100
-+++ libunixlib/signal/post.c 2022-06-03 19:52:18.316234729 +0100
-@@ -307,6 +307,7 @@
- }
-
- #ifdef __ARM_EABI__
-+ const unsigned int *pc = NULL;
- const unsigned int * const lr = (unsigned int *)fp[LR_OFFSET];
- fprintf (stderr, " (%8x) lr: %8x",
- (unsigned int)fp, (unsigned int)lr);
-@@ -350,7 +351,6 @@
- #endif
- oldfp = fp;
- fp = (const unsigned int *)fp[FP_OFFSET];
--#ifndef __ARM_EABI__
- if (__ul_callbackfp != NULL && fp == __ul_callbackfp)
- {
- /* At &oldfp[1] = cpsr, a1-a4, v1-v6, sl, fp, ip, sp, lr, pc */
-@@ -424,7 +424,6 @@
-
- fputs ("\n\n", stderr);
- }
--#endif
- }
-
- fputc ('\n', stderr);
---- libunixlib/signal/_signal.s 2020-05-31 20:11:06.000000000 +0100
-+++ libunixlib/signal/_signal.s 2022-06-03 19:45:32.872892834 +0100
-@@ -761,7 +761,7 @@
- LDR a3, [sp, #14*4 + 4] @ saved USR lr
- LDR a1, [sp, #11*4 + 4] @ saved USR fp
- STMFD sp!, {a1, a3} @ create signal frame
-- MOV fp, sp @ FIXME: check this with compiler output for similar function
-+ ADD fp, sp, #4 @ FIXME: check this with compiler output for similar function
- #else
- @ Create an APCS-32 compilant signal stack frame
- ADR a4, __h_cback + 4*3 @ point at handler name for backtrace