diff options
author | Alexey Neyman <stilor@att.net> | 2017-05-12 05:00:32 (GMT) |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-07-08 17:56:29 (GMT) |
commit | 5935d586e140b35398f45772d5749924dea7da57 (patch) | |
tree | 371d497ec06cba5afca65a5616bcb37f280481b7 /packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch | |
parent | d589df4ebebdd9e89a66dc788e23b3c3db5f23d5 (diff) |
Convert gcc to new framework.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch')
-rw-r--r-- | packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch new file mode 100644 index 0000000..dc40513 --- /dev/null +++ b/packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch @@ -0,0 +1,40 @@ +From 15c7c4d39b317f0d902ef28fd43eca5c3369f891 Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +Date: Sat, 15 Aug 2015 05:12:11 +0300 +Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA + +Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame +higher than what was actually used by code at context->ra. This results +in invalid CFA value in signal frames and premature unwinding completion +in forced unwinding used by uClibc NPTL thread cancellation. +Returning context->sp from _Unwind_GetCFA makes all CFA values valid and +matching code that used them. + +2015-08-18 Max Filippov <jcmvbkbc@gmail.com> +libgcc/ + * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return + context->sp instead of context->cfa. + +Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> +--- +Backported from: r226964 + + libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c +index 35f7797..ef6b900 100644 +--- a/libgcc/config/xtensa/unwind-dw2-xtensa.c ++++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c +@@ -130,7 +130,7 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index) + _Unwind_Word + _Unwind_GetCFA (struct _Unwind_Context *context) + { +- return (_Unwind_Ptr) context->cfa; ++ return (_Unwind_Ptr) context->sp; + } + + /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ +-- +1.8.1.4 + |