Compare commits
10 Commits
cf08c52249
...
9f0bcdb9e2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f0bcdb9e2 | ||
|
|
98e001d5ee | ||
|
|
214bb0c5d8 | ||
|
|
19e51b3bf9 | ||
|
|
e4a2a6e7e0 | ||
|
|
d3ad54aea2 | ||
|
|
954117ddea | ||
|
|
d949fd0bd9 | ||
|
|
875d754081 | ||
|
|
034710abc4 |
140
0001-libEMF-add-loongarch64.patch
Normal file
140
0001-libEMF-add-loongarch64.patch
Normal file
@ -0,0 +1,140 @@
|
||||
From 5d147320abe6989d34765c9ab7dbda150496708d Mon Sep 17 00:00:00 2001
|
||||
From: doupengda <doupengda@loongson.cn>
|
||||
Date: Wed, 5 Jul 2023 08:53:52 +0000
|
||||
Subject: [PATCH] libEMF add loongarch64
|
||||
|
||||
---
|
||||
include/libEMF/wine/winnt.h | 103 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 103 insertions(+)
|
||||
|
||||
diff --git a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h
|
||||
index 39e2f90..fc0a514 100644
|
||||
--- a/include/libEMF/wine/winnt.h
|
||||
+++ b/include/libEMF/wine/winnt.h
|
||||
@@ -69,6 +69,10 @@
|
||||
# define WORDS_BIGENDIAN
|
||||
# define BITFIELDS_BIGENDIAN
|
||||
# undef ALLOW_UNALIGNED_ACCESS
|
||||
+#elif defined(__loongarch64)
|
||||
+# undef WORDS_BIGENDIAN
|
||||
+# undef BITFIELDS_BIGENDIAN
|
||||
+# undef ALLOW_UNALIGNED_ACCESS
|
||||
#elif !defined(RC_INVOKED)
|
||||
# error Unknown CPU architecture!
|
||||
#endif
|
||||
@@ -480,6 +484,7 @@ typedef HANDLE *PHANDLE, *LPHANDLE;
|
||||
#define PROCESSOR_ARCHITECTURE_PPC 3
|
||||
#define PROCESSOR_ARCHITECTURE_SHX 4
|
||||
#define PROCESSOR_ARCHITECTURE_ARM 5
|
||||
+#define PROCESSOR_ARCHITECTURE_LOONGARCH64 6
|
||||
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
|
||||
|
||||
/* dwProcessorType */
|
||||
@@ -1020,6 +1025,104 @@ typedef struct _CONTEXT
|
||||
|
||||
#endif /* _ALPHA_ */
|
||||
|
||||
+#if defined(__loongarch64)
|
||||
+
|
||||
+#define CONTEXT_LOONGARCH64 0x00010000
|
||||
+
|
||||
+#define CONTEXT_CONTROL (CONTEXT_LOONGARCH64 | 0x00000001)
|
||||
+#define CONTEXT_FLOATING_POINT (CONTEXT_LOONGARCH64 | 0x00000002)
|
||||
+#define CONTEXT_INTEGER (CONTEXT_LOONGARCH64 | 0x00000004)
|
||||
+
|
||||
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
|
||||
+
|
||||
+typedef struct _CONTEXT
|
||||
+{
|
||||
+ ULONG ContextFlags;
|
||||
+ /* CONTEXT_INTEGER */
|
||||
+ union
|
||||
+ {
|
||||
+ struct
|
||||
+ {
|
||||
+ DWORD64 R1;
|
||||
+ DWORD64 R2;
|
||||
+ DWORD64 R3;
|
||||
+ DWORD64 R4;
|
||||
+ DWORD64 R5;
|
||||
+ DWORD64 R6;
|
||||
+ DWORD64 R7;
|
||||
+ DWORD64 R8;
|
||||
+ DWORD64 R9;
|
||||
+ DWORD64 R10;
|
||||
+ DWORD64 R11;
|
||||
+ DWORD64 R12;
|
||||
+ DWORD64 R13;
|
||||
+ DWORD64 R14;
|
||||
+ DWORD64 R15;
|
||||
+ DWORD64 R16;
|
||||
+ DWORD64 R17;
|
||||
+ DWORD64 R18;
|
||||
+ DWORD64 R19;
|
||||
+ DWORD64 R20;
|
||||
+ DWORD64 R21;
|
||||
+ DWORD64 R22;
|
||||
+ DWORD64 R23;
|
||||
+ DWORD64 R24;
|
||||
+ DWORD64 R25;
|
||||
+ DWORD64 R26;
|
||||
+ DWORD64 R27;
|
||||
+ DWORD64 R28;
|
||||
+ DWORD64 R29;
|
||||
+ DWORD64 R30;
|
||||
+ DWORD64 R31;
|
||||
+ } DUMMYSTRUCTNAME;
|
||||
+ DWORD64 R[31];
|
||||
+ } DUMMYUNIONNAME1;
|
||||
+ /* CONTEXT_CONTROL */
|
||||
+ DWORD64 pc;
|
||||
+ /* CONTEXT_FLOATING_POINT */
|
||||
+ union
|
||||
+ {
|
||||
+ struct
|
||||
+ {
|
||||
+ DWORD64 F0;
|
||||
+ DWORD64 F1;
|
||||
+ DWORD64 F2;
|
||||
+ DWORD64 F3;
|
||||
+ DWORD64 F4;
|
||||
+ DWORD64 F5;
|
||||
+ DWORD64 F6;
|
||||
+ DWORD64 F7;
|
||||
+ DWORD64 F8;
|
||||
+ DWORD64 F9;
|
||||
+ DWORD64 F10;
|
||||
+ DWORD64 F11;
|
||||
+ DWORD64 F12;
|
||||
+ DWORD64 F13;
|
||||
+ DWORD64 F14;
|
||||
+ DWORD64 F15;
|
||||
+ DWORD64 F16;
|
||||
+ DWORD64 F17;
|
||||
+ DWORD64 F18;
|
||||
+ DWORD64 F19;
|
||||
+ DWORD64 F20;
|
||||
+ DWORD64 F21;
|
||||
+ DWORD64 F22;
|
||||
+ DWORD64 F23;
|
||||
+ DWORD64 F24;
|
||||
+ DWORD64 F25;
|
||||
+ DWORD64 F26;
|
||||
+ DWORD64 F27;
|
||||
+ DWORD64 F28;
|
||||
+ DWORD64 F29;
|
||||
+ DWORD64 F30;
|
||||
+ DWORD64 F31;
|
||||
+ } DUMMYSTRUCTNAME;
|
||||
+ DWORD64 F[32];
|
||||
+ } DUMMYUNIONNAME2;
|
||||
+ /* CONTEXT_DEBUG_REGISTERS */
|
||||
+} CONTEXT;
|
||||
+#endif /* __loongarch64 */
|
||||
+
|
||||
/* Mips context definitions */
|
||||
#if defined(_MIPS_) || defined(__MIPS__) || defined(__mips__)
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
145
0002-libemf-1.0.13-add-riscv64.patch
Normal file
145
0002-libemf-1.0.13-add-riscv64.patch
Normal file
@ -0,0 +1,145 @@
|
||||
diff --git a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h
|
||||
index 39e2f90..4fa061c 100644
|
||||
--- a/include/libEMF/wine/winnt.h
|
||||
+++ b/include/libEMF/wine/winnt.h
|
||||
@@ -61,6 +61,10 @@
|
||||
# define WORDS_BIGENDIAN
|
||||
# define BITFIELDS_BIGENDIAN
|
||||
# undef ALLOW_UNALIGNED_ACCESS
|
||||
+#elif defined(__riscv)
|
||||
+# undef WORDS_BIGENDIAN
|
||||
+# undef BITFIELDS_BIGENDIAN
|
||||
+# define ALLOW_UNALIGNED_ACCESS
|
||||
#elif defined(__e2k__)
|
||||
# undef WORDS_BIGENDIAN
|
||||
# undef BITFIELDS_BIGENDIAN
|
||||
@@ -480,6 +484,7 @@ typedef HANDLE *PHANDLE, *LPHANDLE;
|
||||
#define PROCESSOR_ARCHITECTURE_PPC 3
|
||||
#define PROCESSOR_ARCHITECTURE_SHX 4
|
||||
#define PROCESSOR_ARCHITECTURE_ARM 5
|
||||
+#define PROCESSOR_ARCHITECTURE_RISCV64 15
|
||||
#define PROCESSOR_ARCHITECTURE_LOONGARCH64 6
|
||||
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
|
||||
|
||||
@@ -1513,6 +1518,111 @@ typedef struct _CONTEXT {
|
||||
|
||||
#endif /* __aarch64__ */
|
||||
|
||||
+/* Copied from https://github.com/AndreRH/wine/blob/73fff3508dc7edf04910ebb322d22f5cb190beec/include/winnt.h */
|
||||
+#ifdef __riscv
|
||||
+
|
||||
+#define CONTEXT_RISC64 0x800000
|
||||
+#define CONTEXT_CONTROL (CONTEXT_RISC64 | 0x00000001)
|
||||
+#define CONTEXT_INTEGER (CONTEXT_RISC64 | 0x00000002)
|
||||
+#define CONTEXT_FLOATING_POINT (CONTEXT_RISC64 | 0x00000004)
|
||||
+#define CONTEXT_DEBUG_REGISTERS (CONTEXT_RISC64 | 0x00000008)
|
||||
+
|
||||
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
|
||||
+#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
|
||||
+
|
||||
+#define EXCEPTION_READ_FAULT 0
|
||||
+#define EXCEPTION_WRITE_FAULT 1
|
||||
+#define EXCEPTION_EXECUTE_FAULT 8
|
||||
+
|
||||
+typedef struct _CONTEXT
|
||||
+{
|
||||
+ ULONG ContextFlags; /* 000 */
|
||||
+ /* CONTEXT_INTEGER */
|
||||
+ union
|
||||
+ {
|
||||
+ struct
|
||||
+ {
|
||||
+ DWORD64 X1; /* 004 */
|
||||
+ DWORD64 X2; /* 00c */
|
||||
+ DWORD64 X3; /* 014 */
|
||||
+ DWORD64 X4; /* 01c */
|
||||
+ DWORD64 X5; /* 024 */
|
||||
+ DWORD64 X6; /* 02c */
|
||||
+ DWORD64 X7; /* 034 */
|
||||
+ DWORD64 X8; /* 03c */
|
||||
+ DWORD64 X9; /* 044 */
|
||||
+ DWORD64 X10; /* 04c */
|
||||
+ DWORD64 X11; /* 054 */
|
||||
+ DWORD64 X12; /* 05c */
|
||||
+ DWORD64 X13; /* 064 */
|
||||
+ DWORD64 X14; /* 06c */
|
||||
+ DWORD64 X15; /* 074 */
|
||||
+ DWORD64 X16; /* 07c */
|
||||
+ DWORD64 X17; /* 084 */
|
||||
+ DWORD64 X18; /* 08c */
|
||||
+ DWORD64 X19; /* 094 */
|
||||
+ DWORD64 X20; /* 09c */
|
||||
+ DWORD64 X21; /* 0a4 */
|
||||
+ DWORD64 X22; /* 0ac */
|
||||
+ DWORD64 X23; /* 0b4 */
|
||||
+ DWORD64 X24; /* 0bc */
|
||||
+ DWORD64 X25; /* 0c4 */
|
||||
+ DWORD64 X26; /* 0cc */
|
||||
+ DWORD64 X27; /* 0d4 */
|
||||
+ DWORD64 X28; /* 0dc */
|
||||
+ DWORD64 X29; /* 0e4 */
|
||||
+ DWORD64 X30; /* 0ec */
|
||||
+ DWORD64 X31; /* 0f4 */
|
||||
+ } DUMMYSTRUCTNAME;
|
||||
+ DWORD64 X[31]; /* 004 */
|
||||
+ } DUMMYUNIONNAME1;
|
||||
+ /* CONTEXT_CONTROL */
|
||||
+ DWORD64 pc; /* 0fc */
|
||||
+ /* CONTEXT_FLOATING_POINT */
|
||||
+ union
|
||||
+ {
|
||||
+ struct
|
||||
+ {
|
||||
+ DWORD64 F0; /* */
|
||||
+ DWORD64 F1; /* 104 */
|
||||
+ DWORD64 F2; /* */
|
||||
+ DWORD64 F3; /* 114 */
|
||||
+ DWORD64 F4; /* */
|
||||
+ DWORD64 F5; /* 124 */
|
||||
+ DWORD64 F6; /* 12c */
|
||||
+ DWORD64 F7; /* 134 */
|
||||
+ DWORD64 F8; /* 13c */
|
||||
+ DWORD64 F9; /* 144 */
|
||||
+ DWORD64 F10; /* 14c */
|
||||
+ DWORD64 F11; /* 154 */
|
||||
+ DWORD64 F12; /* 15c */
|
||||
+ DWORD64 F13; /* 164 */
|
||||
+ DWORD64 F14; /* 16c */
|
||||
+ DWORD64 F15; /* 174 */
|
||||
+ DWORD64 F16; /* 17c */
|
||||
+ DWORD64 F17; /* 184 */
|
||||
+ DWORD64 F18; /* 18c */
|
||||
+ DWORD64 F19; /* 194 */
|
||||
+ DWORD64 F20; /* 19c */
|
||||
+ DWORD64 F21; /* 1a4 */
|
||||
+ DWORD64 F22; /* 1ac */
|
||||
+ DWORD64 F23; /* 1b4 */
|
||||
+ DWORD64 F24; /* 1bc */
|
||||
+ DWORD64 F25; /* 1c4 */
|
||||
+ DWORD64 F26; /* 1cc */
|
||||
+ DWORD64 F27; /* 1d4 */
|
||||
+ DWORD64 F28; /* 1dc */
|
||||
+ DWORD64 F29; /* 1e4 */
|
||||
+ DWORD64 F30; /* 1ec */
|
||||
+ DWORD64 F31; /* 1f4 */
|
||||
+ } DUMMYSTRUCTNAME;
|
||||
+ DWORD64 F[32]; /* 0fc */
|
||||
+ } DUMMYUNIONNAME2;
|
||||
+ /* CONTEXT_DEBUG_REGISTERS */
|
||||
+} CONTEXT;
|
||||
+
|
||||
+#endif /* __riscv */
|
||||
+
|
||||
#ifdef __e2k__
|
||||
/*
|
||||
* FIXME:
|
||||
@@ -3071,7 +3181,8 @@ typedef struct _IMAGE_VXD_HEADER {
|
||||
#define IMAGE_FILE_MACHINE_R4000 0x166
|
||||
#define IMAGE_FILE_MACHINE_R10000 0x168
|
||||
#define IMAGE_FILE_MACHINE_ALPHA 0x184
|
||||
-#define IMAGE_FILE_MACHINE_POWERPC 0x1F0
|
||||
+#define IMAGE_FILE_MACHINE_POWERPC 0x1F0
|
||||
+#define IMAGE_FILE_MACHINE_RISCV64 0x15c5
|
||||
|
||||
#define IMAGE_SIZEOF_FILE_HEADER 20
|
||||
|
||||
41
0003-libEMF-Add-sw_64-support.patch
Normal file
41
0003-libEMF-Add-sw_64-support.patch
Normal file
@ -0,0 +1,41 @@
|
||||
diff -Naur a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h
|
||||
--- a/include/libEMF/wine/winnt.h 2024-11-18 14:36:40.978903092 +0800
|
||||
+++ b/include/libEMF/wine/winnt.h 2024-11-18 14:47:14.007013642 +0800
|
||||
@@ -41,6 +41,10 @@
|
||||
# undef WORDS_BIGENDIAN
|
||||
# undef BITFIELDS_BIGENDIAN
|
||||
# undef ALLOW_UNALIGNED_ACCESS
|
||||
+#elif defined(__sw_64__)
|
||||
+# undef WORDS_BIGENDIAN
|
||||
+# undef BITFIELDS_BIGENDIAN
|
||||
+# undef ALLOW_UNALIGNED_ACCESS
|
||||
#elif defined(__arm__)
|
||||
# undef WORDS_BIGENDIAN
|
||||
# undef BITFIELDS_BIGENDIAN
|
||||
@@ -274,7 +278,7 @@
|
||||
typedef int INT, *PINT, *LPINT;
|
||||
typedef unsigned int UINT, *PUINT, *LPUINT;
|
||||
/* Not sure this is correct. Probably should depend on the compiler, too. */
|
||||
-#if defined( __LP64__) || defined(__alpha__)
|
||||
+#if defined( __LP64__) || defined(__alpha__) || defined(__sw_64__)
|
||||
typedef unsigned int DWORD, *PDWORD, *LPDWORD;
|
||||
typedef unsigned int ULONG, *PULONG, *LPULONG;
|
||||
#else
|
||||
@@ -320,7 +324,7 @@
|
||||
typedef BYTE BOOLEAN, *PBOOLEAN;
|
||||
typedef char CHAR, *PCHAR;
|
||||
typedef short SHORT, *PSHORT;
|
||||
-#if defined(__LP64__) || defined(__alpha__)
|
||||
+#if defined(__LP64__) || defined(__alpha__) || defined(__sw_64__)
|
||||
typedef int LONG, *PLONG, *LPLONG;
|
||||
#else
|
||||
typedef long LONG, *PLONG, *LPLONG;
|
||||
@@ -935,7 +939,7 @@
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
/* Alpha context definitions */
|
||||
-#if defined(__alpha__)
|
||||
+#if defined(__alpha__) || defined(__sw_64__)
|
||||
|
||||
#define CONTEXT_ALPHA 0x00020000
|
||||
|
||||
14
0004-libEMF-Add-mips64el-support.patch
Normal file
14
0004-libEMF-Add-mips64el-support.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -Naur a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h
|
||||
--- a/include/libEMF/wine/winnt.h 2024-11-19 09:50:03.450910598 +0800
|
||||
+++ b/include/libEMF/wine/winnt.h 2024-11-19 10:16:32.120151366 +0800
|
||||
@@ -81,6 +81,10 @@
|
||||
# undef WORDS_BIGENDIAN
|
||||
# undef BITFIELDS_BIGENDIAN
|
||||
# undef ALLOW_UNALIGNED_ACCESS
|
||||
+#elif defined(_MIPS_) || defined(__MIPS__) || defined(__mips__)
|
||||
+# undef WORDS_BIGENDIAN
|
||||
+# undef BITFIELDS_BIGENDIAN
|
||||
+# undef ALLOW_UNALIGNED_ACCESS
|
||||
#elif !defined(RC_INVOKED)
|
||||
# error Unknown CPU architecture!
|
||||
#endif
|
||||
22
libEMF.spec
22
libEMF.spec
@ -1,11 +1,14 @@
|
||||
Name: libEMF
|
||||
Version: 1.0.9
|
||||
Release: 9
|
||||
Version: 1.0.13
|
||||
Release: 4
|
||||
Summary: A library for generating Enhanced Metafiles
|
||||
License: LGPLv2+ and GPLv2+
|
||||
URL: http://libemf.sourceforge.net/
|
||||
Source0: https://downloads.sourceforge.net/project/libemf/libemf/%{version}/libemf-%{version}.tar.gz
|
||||
Patch0000: support-aarch64.patch
|
||||
Patch0: 0001-libEMF-add-loongarch64.patch
|
||||
Patch1: 0002-libemf-1.0.13-add-riscv64.patch
|
||||
Patch2: 0003-libEMF-Add-sw_64-support.patch
|
||||
Patch3: 0004-libEMF-Add-mips64el-support.patch
|
||||
|
||||
BuildRequires: gcc-c++ chrpath
|
||||
|
||||
@ -60,6 +63,19 @@ make check
|
||||
%doc doc/html/* NEWS README
|
||||
|
||||
%changelog
|
||||
* Sat Mar 15 2025 mahailiang <mahailiang@uniontech.com> - 1.0.13-4
|
||||
- fix sw_64 mips64el build error
|
||||
|
||||
* Thu Jul 20 2023 wujie <wujie@nj.iscas.ac.cn> - 1.0.13-3
|
||||
- Add riscv64 support from http://fedora.riscv.rocks/koji/buildinfo?buildID=24988
|
||||
Author is David Abdurachmanov <david.abdurachmanov@gmail.com>
|
||||
|
||||
* Wed Jul 5 2023 doupengda <doupengda@loongson.cn> - 1.0.13-2
|
||||
- libEMF add support for loongarch64
|
||||
|
||||
* Tue Sep 28 2021 yaoxin <yaoxin30@huawei.com> - 1.0.13-1
|
||||
- Upgrade libEMF to 1.0.13; fix CVE-2020-13999 CVE-2020-11863 CVE-2020-11865 CVE-2020-11866 CVE-2020-11864
|
||||
|
||||
* Fri Sep 10 2021 Pengju Jiang <jiangpengju2@huawei.com> - 1.0.9-9
|
||||
- solve the rpath problem
|
||||
|
||||
|
||||
4
libEMF.yaml
Normal file
4
libEMF.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: svn
|
||||
src_repo: https://svn.code.sf.net/p/libemf/code/trunk libemf-code
|
||||
tag_prefix: ^v
|
||||
separator: .
|
||||
BIN
libemf-1.0.13.tar.gz
Normal file
BIN
libemf-1.0.13.tar.gz
Normal file
Binary file not shown.
Binary file not shown.
@ -1,92 +0,0 @@
|
||||
--- libEMF-1.0.7/include/libEMF/wine/winnt.h.orig 2014-05-11 09:42:07.438982485 +0100
|
||||
+++ libEMF-1.0.7/include/libEMF/wine/winnt.h 2014-05-11 09:42:42.104573014 +0100
|
||||
@@ -45,6 +45,10 @@
|
||||
# undef WORDS_BIGENDIAN
|
||||
# undef BITFIELDS_BIGENDIAN
|
||||
# undef ALLOW_UNALIGNED_ACCESS
|
||||
+#elif defined(__aarch64__)
|
||||
+# undef WORDS_BIGENDIAN
|
||||
+# undef BITFIELDS_BIGENDIAN
|
||||
+# undef ALLOW_UNALIGNED_ACCESS
|
||||
#elif defined(__sparc__)
|
||||
# define WORDS_BIGENDIAN
|
||||
# define BITFIELDS_BIGENDIAN
|
||||
@@ -1425,6 +1429,78 @@
|
||||
|
||||
#endif /* __arm__ */
|
||||
|
||||
+#ifdef __aarch64__
|
||||
+/*
|
||||
+ * FIXME:
|
||||
+ *
|
||||
+ * There is not yet an official CONTEXT structure defined for the AArch64
|
||||
+ * architecture, so I just made one up.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/* These definitions are taken directly from wine
|
||||
+ * http://source.winehq.org/git/wine.git/blob_plain/HEAD:/include/winnt.h */
|
||||
+
|
||||
+#define CONTEXT_ARM64 0x2000000
|
||||
+#define CONTEXT_CONTROL (CONTEXT_ARM64 | 0x00000001)
|
||||
+#define CONTEXT_INTEGER (CONTEXT_ARM64 | 0x00000002)
|
||||
+#define CONTEXT_FLOATING_POINT (CONTEXT_ARM64 | 0x00000004)
|
||||
+#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x00000008)
|
||||
+
|
||||
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
|
||||
+
|
||||
+#define EXCEPTION_READ_FAULT 0
|
||||
+#define EXCEPTION_WRITE_FAULT 1
|
||||
+#define EXCEPTION_EXECUTE_FAULT 8
|
||||
+
|
||||
+typedef struct _CONTEXT {
|
||||
+ ULONG ContextFlags;
|
||||
+
|
||||
+ /* This section is specified/returned if the ContextFlags word contains
|
||||
+ the flag CONTEXT_INTEGER. */
|
||||
+ ULONGLONG X0;
|
||||
+ ULONGLONG X1;
|
||||
+ ULONGLONG X2;
|
||||
+ ULONGLONG X3;
|
||||
+ ULONGLONG X4;
|
||||
+ ULONGLONG X5;
|
||||
+ ULONGLONG X6;
|
||||
+ ULONGLONG X7;
|
||||
+ ULONGLONG X8;
|
||||
+ ULONGLONG X9;
|
||||
+ ULONGLONG X10;
|
||||
+ ULONGLONG X11;
|
||||
+ ULONGLONG X12;
|
||||
+ ULONGLONG X13;
|
||||
+ ULONGLONG X14;
|
||||
+ ULONGLONG X15;
|
||||
+ ULONGLONG X16;
|
||||
+ ULONGLONG X17;
|
||||
+ ULONGLONG X18;
|
||||
+ ULONGLONG X19;
|
||||
+ ULONGLONG X20;
|
||||
+ ULONGLONG X21;
|
||||
+ ULONGLONG X22;
|
||||
+ ULONGLONG X23;
|
||||
+ ULONGLONG X24;
|
||||
+ ULONGLONG X25;
|
||||
+ ULONGLONG X26;
|
||||
+ ULONGLONG X27;
|
||||
+ ULONGLONG X28;
|
||||
+ ULONGLONG X29;
|
||||
+ ULONGLONG X30;
|
||||
+
|
||||
+ /* These are selected by CONTEXT_CONTROL */
|
||||
+ ULONGLONG Sp;
|
||||
+ ULONGLONG Pc;
|
||||
+ ULONGLONG PState;
|
||||
+
|
||||
+ /* These are selected by CONTEXT_FLOATING_POINT */
|
||||
+ /* FIXME */
|
||||
+} CONTEXT;
|
||||
+
|
||||
+#endif /* __aarch64__ */
|
||||
+
|
||||
#if !defined(CONTEXT_FULL) && !defined(RC_INVOKED)
|
||||
#error You need to define a CONTEXT for your CPU
|
||||
#endif
|
||||
Loading…
x
Reference in New Issue
Block a user