File tree Expand file tree Collapse file tree 1 file changed +70
-0
lines changed
Expand file tree Collapse file tree 1 file changed +70
-0
lines changed Original file line number Diff line number Diff line change 1+ // ===--- CrashInfo.h - Swift Backtracing Crash Information ------*- C++ -*-===//
2+ //
3+ // This source file is part of the Swift.org open source project
4+ //
5+ // Copyright (c) 2023 Apple Inc. and the Swift project authors
6+ // Licensed under Apache License v2.0 with Runtime Library Exception
7+ //
8+ // See https://swift.org/LICENSE.txt for license information
9+ // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10+ //
11+ // ===----------------------------------------------------------------------===//
12+ //
13+ // Defines the CrashInfo type that holds information about why the program
14+ // crashed.
15+ //
16+ // ===----------------------------------------------------------------------===//
17+
18+ #ifndef SWIFT_CRASHINFO_H
19+ #define SWIFT_CRASHINFO_H
20+
21+ #include < inttypes.h>
22+
23+ #ifdef __cplusplus
24+ namespace swift {
25+ namespace runtime {
26+ namespace backtrace {
27+ extern " C" {
28+ #endif
29+
30+ struct CrashInfo {
31+ uint64_t crashing_thread;
32+ uint64_t signal;
33+ uint64_t fault_address;
34+
35+ #ifdef __APPLE__
36+ uint64_t mctx;
37+ #elif defined(__linux__)
38+ uint64_t thread_list;
39+ #endif
40+ };
41+
42+ #ifdef __linux__
43+
44+ struct memserver_req {
45+ uint64_t addr;
46+ uint64_t len;
47+ };
48+
49+ struct memserver_resp {
50+ uint64_t addr;
51+ int64_t len;
52+ /* Then len bytes of data */
53+ };
54+
55+ struct thread {
56+ uint64_t next;
57+ int64_t tid;
58+ uint64_t uctx;
59+ };
60+
61+ #endif
62+
63+ #ifdef __cplusplus
64+ } // extern "C"
65+ } // namespace backtrace
66+ } // namespace runtime
67+ } // namespace swift
68+ #endif
69+
70+ #endif // SWIFT_CRASHINFO_H
You can’t perform that action at this time.
0 commit comments