• R/O
  • SSH

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Fork of Keith's WSL Patch Queue for my Win64 work


Commit MetaInfo

Revisionf9c7f78569e48728c628ab0157ddbcc3821089d7 (tree)
Zeit2019-04-22 03:01:06
AutorCesar Strauss <cestrauss@gmai...>
CommiterCesar Strauss

Log Message

Place the _WIN64 specific declaration of CONTEXT in its own header file.

Ändern Zusammenfassung

Diff

diff -r 3659981a2370 -r f9c7f78569e4 series
--- a/series Sun Apr 21 17:18:39 2019 +0000
+++ b/series Sun Apr 21 18:01:06 2019 +0000
@@ -1,4 +1,5 @@
11 win64-context.patch #+win64
2+winnt-decl-64.patch
23 cpu-features-x86-64.patch #+win64
34 win64-time-typedef.patch #+win64
45 alloca-testing.patch #+void #-void
diff -r 3659981a2370 -r f9c7f78569e4 winnt-decl-64.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/winnt-decl-64.patch Sun Apr 21 18:01:06 2019 +0000
@@ -0,0 +1,143 @@
1+# HG changeset patch
2+# User Cesar Strauss <cestrauss@gmail.com>
3+# Date 1555868863 0
4+# Parent 9f16cb37f78fdbd63f1b502eff64780362550353
5+Place the _WIN64 specific declaration of CONTEXT in its own header file.
6+
7+diff --git a/wslapi/include/_winnt_decl_64.h b/wslapi/include/_winnt_decl_64.h
8+new file mode 100644
9+--- /dev/null
10++++ b/wslapi/include/_winnt_decl_64.h
11+@@ -0,0 +1,119 @@
12++/*
13++ * _winnt_decl_64.h
14++ *
15++ * Specific declarations for 64 bits architectures.
16++ *
17++ * $Id$
18++ *
19++ * Written by Cesar Strauss <cestrauss@gmail.com>
20++ * Copyright (C) 2019, MinGW.org Project
21++ *
22++ *
23++ * Permission is hereby granted, free of charge, to any person obtaining a
24++ * copy of this software and associated documentation files (the "Software"),
25++ * to deal in the Software without restriction, including without limitation
26++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
27++ * and/or sell copies of the Software, and to permit persons to whom the
28++ * Software is furnished to do so, subject to the following conditions:
29++ *
30++ * The above copyright notice and this permission notice (including the next
31++ * paragraph) shall be included in all copies or substantial portions of the
32++ * Software.
33++ *
34++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
40++ * DEALINGS IN THE SOFTWARE.
41++ *
42++ */
43++#ifndef __WINNT_DECL_64_H
44++#define __WINNT_DECL_64_H
45++#pragma GCC system_header
46++
47++#include <winnt.h>
48++
49++_BEGIN_C_DECLS
50++
51++/* TODO: Find declarations for XMM_SAVE_AREA32, NEON128 and M128A. */
52++#if 0
53++typedef struct _CONTEXT {
54++ DWORD64 P1Home;
55++ DWORD64 P2Home;
56++ DWORD64 P3Home;
57++ DWORD64 P4Home;
58++ DWORD64 P5Home;
59++ DWORD64 P6Home;
60++ DWORD ContextFlags;
61++ DWORD MxCsr;
62++ WORD SegCs;
63++ WORD SegDs;
64++ WORD SegEs;
65++ WORD SegFs;
66++ WORD SegGs;
67++ WORD SegSs;
68++ DWORD EFlags;
69++ DWORD64 Dr0;
70++ DWORD64 Dr1;
71++ DWORD64 Dr2;
72++ DWORD64 Dr3;
73++ DWORD64 Dr6;
74++ DWORD64 Dr7;
75++ DWORD64 Rax;
76++ DWORD64 Rcx;
77++ DWORD64 Rdx;
78++ DWORD64 Rbx;
79++ DWORD64 Rsp;
80++ DWORD64 Rbp;
81++ DWORD64 Rsi;
82++ DWORD64 Rdi;
83++ DWORD64 R8;
84++ DWORD64 R9;
85++ DWORD64 R10;
86++ DWORD64 R11;
87++ DWORD64 R12;
88++ DWORD64 R13;
89++ DWORD64 R14;
90++ DWORD64 R15;
91++ DWORD64 Rip;
92++ union {
93++ XMM_SAVE_AREA32 FltSave;
94++ NEON128 Q[16];
95++ ULONGLONG D[32];
96++ struct {
97++ M128A Header[2];
98++ M128A Legacy[8];
99++ M128A Xmm0;
100++ M128A Xmm1;
101++ M128A Xmm2;
102++ M128A Xmm3;
103++ M128A Xmm4;
104++ M128A Xmm5;
105++ M128A Xmm6;
106++ M128A Xmm7;
107++ M128A Xmm8;
108++ M128A Xmm9;
109++ M128A Xmm10;
110++ M128A Xmm11;
111++ M128A Xmm12;
112++ M128A Xmm13;
113++ M128A Xmm14;
114++ M128A Xmm15;
115++ } DUMMYSTRUCTNAME;
116++ DWORD S[32];
117++ } DUMMYUNIONNAME;
118++ M128A VectorRegister[26];
119++ DWORD64 VectorControl;
120++ DWORD64 DebugControl;
121++ DWORD64 LastBranchToRip;
122++ DWORD64 LastBranchFromRip;
123++ DWORD64 LastExceptionToRip;
124++ DWORD64 LastExceptionFromRip;
125++} CONTEXT, *PCONTEXT;
126++#endif
127++
128++_END_C_DECLS
129++
130++#endif /* __WINNT_DECL_64_H: $RCSfile$: end of file */
131+diff --git a/wslapi/include/winnt.h b/wslapi/include/winnt.h
132+--- a/wslapi/include/winnt.h
133++++ b/wslapi/include/winnt.h
134+@@ -4339,4 +4339,9 @@
135+
136+ #endif /* ! RC_INVOKED */
137+ #endif /* !_WINNT_H: internal recursion break */
138++
139++#ifdef _WIN64
140++#include <_winnt_decl_64.h>
141++#endif
142++
143+ #endif /* !_WINNT_H: $RCSfile$: end of file */