summaryrefslogtreecommitdiff
path: root/src/tilegx
diff options
context:
space:
mode:
authorJameson Nash <vtjnash@gmail.com>2022-04-25 18:30:37 -0400
committerDave Watson <dade.watson@gmail.com>2022-05-22 11:10:44 -0700
commit0c4484911dcaa47af09da3a717a66ab98dc7f7a8 (patch)
tree433b34c181e661e759ed3cc7e94e0d11a3908a2f /src/tilegx
parent7eb6f72ff22a8db41800a317d331750982f75296 (diff)
downloadlibunwind-0c4484911dcaa47af09da3a717a66ab98dc7f7a8.tar.gz
avoid leaking registers across sigreturn
Mostly just relevant for fp registers, which are frequently mostly just ignored otherwise.
Diffstat (limited to 'src/tilegx')
-rw-r--r--src/tilegx/Gis_signal_frame.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/tilegx/Gis_signal_frame.c b/src/tilegx/Gis_signal_frame.c
index 5452c2cb..eea00e47 100644
--- a/src/tilegx/Gis_signal_frame.c
+++ b/src/tilegx/Gis_signal_frame.c
@@ -96,6 +96,9 @@ tilegx_handle_signal_frame (unw_cursor_t *cursor)
C_ABI_SAVE_AREA_SIZE;
sc_addr = c->sigcontext_addr + LINUX_UC_MCONTEXT_OFF;
+ for (i = 0; i < DWARF_NUM_PRESERVED_REGS; ++i)
+ c->dwarf.loc[i] = DWARF_NULL_LOC;
+
/* Update the dwarf cursor.
Set the location of the registers to the corresponding addresses of the
uc_mcontext / sigcontext structure contents. */