[PATCH 13/18] ntdll: Include d0-d15 in RtlCaptureContext.

Martin Storsjö martin at martin.st
Tue Nov 9 08:05:50 CST 2021


We ideally should back up all of d0-d31, but when building in ELF
form, only d0-d15 are normally available (with common distributions'
default compilers), unless object files are built with flags to enable
support for d16-d31 (with e.g. -mfpu=neon).

Signed-off-by: Martin Storsjö <martin at martin.st>
---
 dlls/ntdll/signal_arm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
index 3bf8e19e126..a1a732201cf 100644
--- a/dlls/ntdll/signal_arm.c
+++ b/dlls/ntdll/signal_arm.c
@@ -75,6 +75,10 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
                     "str r1, [r0, #0x3c]\n\t"  /* context->Lr */
                     "add r0, #0x0c\n\t"
                     "stm r0, {r2-r12}\n\t"     /* context->R2..R12 */
+#ifndef __SOFTFP__
+                    "add r0, #0x44\n\t"        /* 0x50 - 0x0c */
+                    "vstm r0, {d0-d15}\n\t"    /* context->D0-D15 */
+#endif
                     "bx lr" )
 
 
-- 
2.25.1




More information about the wine-devel mailing list