OLD | NEW |
1 ; Copyright 2015 The Crashpad Authors. All rights reserved. | 1 ; Copyright 2015 The Crashpad Authors. All rights reserved. |
2 ; | 2 ; |
3 ; Licensed under the Apache License, Version 2.0 (the "License"); | 3 ; Licensed under the Apache License, Version 2.0 (the "License"); |
4 ; you may not use this file except in compliance with the License. | 4 ; you may not use this file except in compliance with the License. |
5 ; You may obtain a copy of the License at | 5 ; You may obtain a copy of the License at |
6 ; | 6 ; |
7 ; http://www.apache.org/licenses/LICENSE-2.0 | 7 ; http://www.apache.org/licenses/LICENSE-2.0 |
8 ; | 8 ; |
9 ; Unless required by applicable law or agreed to in writing, software | 9 ; Unless required by applicable law or agreed to in writing, software |
10 ; distributed under the License is distributed on an "AS IS" BASIS, | 10 ; distributed under the License is distributed on an "AS IS" BASIS, |
11 ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 11 ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 ; See the License for the specific language governing permissions and | 12 ; See the License for the specific language governing permissions and |
13 ; limitations under the License. | 13 ; limitations under the License. |
14 | 14 |
15 ; Detect ml64 assembling for x86_64 by checking for rax. | 15 ; Detect ml64 assembling for x86_64 by checking for rax. |
16 ifdef rax | 16 ifdef rax |
17 _M_X64 equ 1 | 17 _M_X64 equ 1 |
18 else | 18 else |
19 _M_IX86 equ 1 | 19 _M_IX86 equ 1 |
20 endif | 20 endif |
21 | 21 |
22 ifdef _M_IX86 | 22 ifdef _M_IX86 |
23 .586 | 23 .586 |
24 .XMM | 24 .xmm |
25 .model flat | 25 .model flat |
26 endif | 26 endif |
27 | 27 |
28 offsetof macro structure, field | 28 offsetof macro structure, field |
29 exitm <structure.&field> | 29 exitm <structure.&field> |
30 endm | 30 endm |
31 | 31 |
32 ; The CONTEXT structure definitions that follow are based on those in <winnt.h>. | 32 ; The CONTEXT structure definitions that follow are based on those in <winnt.h>. |
33 ; Field names are prefixed (as in c_Rax) to avoid colliding with the predefined | 33 ; Field names are prefixed (as in c_Rax) to avoid colliding with the predefined |
34 ; register names (such as Rax). | 34 ; register names (such as Rax). |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 c_DebugControl qword ? | 205 c_DebugControl qword ? |
206 c_LastBranchToRip qword ? | 206 c_LastBranchToRip qword ? |
207 c_LastBranchFromRip qword ? | 207 c_LastBranchFromRip qword ? |
208 c_LastExceptionToRip qword ? | 208 c_LastExceptionToRip qword ? |
209 c_LastExceptionFromRip qword ? | 209 c_LastExceptionFromRip qword ? |
210 CONTEXT ends | 210 CONTEXT ends |
211 | 211 |
212 endif | 212 endif |
213 | 213 |
214 ; namespace crashpad { | 214 ; namespace crashpad { |
215 ; void CaptureContext(CONTEXT* context) | 215 ; void CaptureContext(CONTEXT* context); |
216 ; } // namespace crashpad | 216 ; } // namespace crashpad |
217 ifdef _M_IX86 | 217 ifdef _M_IX86 |
218 CAPTURECONTEXT_SYMBOL equ ?CaptureContext@crashpad@@YAXPAU_CONTEXT@@@Z | 218 CAPTURECONTEXT_SYMBOL equ ?CaptureContext@crashpad@@YAXPAU_CONTEXT@@@Z |
219 elseifdef _M_X64 | 219 elseifdef _M_X64 |
220 CAPTURECONTEXT_SYMBOL equ ?CaptureContext@crashpad@@YAXPEAU_CONTEXT@@@Z | 220 CAPTURECONTEXT_SYMBOL equ ?CaptureContext@crashpad@@YAXPEAU_CONTEXT@@@Z |
221 endif | 221 endif |
222 | 222 |
223 _TEXT segment | 223 _TEXT segment |
224 public CAPTURECONTEXT_SYMBOL | 224 public CAPTURECONTEXT_SYMBOL |
225 | 225 |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 pop rbp | 521 pop rbp |
522 | 522 |
523 ret | 523 ret |
524 | 524 |
525 CAPTURECONTEXT_SYMBOL endp | 525 CAPTURECONTEXT_SYMBOL endp |
526 | 526 |
527 endif | 527 endif |
528 | 528 |
529 _TEXT ends | 529 _TEXT ends |
530 end | 530 end |
OLD | NEW |