chiark
/
gitweb
/
~mdw
/
catacomb
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
717b28a
)
base/dispatch-x86ish.S (dispatch_x86ish_xgetbv): Preserve `edi' on i386.
author
Mark Wooding
<mdw@distorted.org.uk>
Sun, 10 Mar 2024 14:58:19 +0000
(14:58 +0000)
committer
Mark Wooding
<mdw@distorted.org.uk>
Sun, 10 Mar 2024 16:04:50 +0000
(16:04 +0000)
Oh, dear! This broke the world on 32-bit x86 and I didn't notice.
Definite brown-paper-bag time.
base/dispatch-x86ish.S
patch
|
blob
|
blame
|
history
diff --git
a/base/dispatch-x86ish.S
b/base/dispatch-x86ish.S
index 9510f9690de37311536d265128d5b18463f6a78f..8a4c7b2e58130ab4a41bcb3ebb78ab900aa16a9b 100644
(file)
--- a/
base/dispatch-x86ish.S
+++ b/
base/dispatch-x86ish.S
@@
-164,8
+164,9
@@
FUNC(dispatch_x86ish_xgetbv)
#if CPUFAM_X86
# define Z_OUT edi
- mov edi, [esp + 4]
- mov ecx, [esp + 8]
+ pushreg edi
+ mov edi, [esp + 8]
+ mov ecx, [esp + 12]
#endif
#if CPUFAM_AMD64 && ABI_SYSV
# define Z_OUT rdi
@@
-182,6
+183,9
@@
FUNC(dispatch_x86ish_xgetbv)
mov [Z_OUT + 0], eax
mov [Z_OUT + 4], edx
+#if CPUFAM_X86
+ popreg edi
+#endif
ret
#undef Z_OUT