Skip to content

Commit 6caea53

Browse files
committed
[Backtracing] Add _Backtracing library to the build.
Adds a new swift_Backtracing library, with a corresponding _Backtracing module, to the build. Also add some tests. This is not public API at this point, but will be used by the external backtracing program, `swift-backtrace`. rdar://104336548
1 parent b63a227 commit 6caea53

20 files changed

+4700
-1
lines changed

stdlib/public/Backtracing/Backtrace.swift

Lines changed: 496 additions & 0 deletions
Large diffs are not rendered by default.

stdlib/public/Backtracing/BacktraceFormatter.swift

Lines changed: 983 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#===--- CMakeLists.txt - Backtracing support library -----------------------===#
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+
set(swift_backtracing_link_libraries
14+
swiftCore
15+
)
16+
17+
set(BACKTRACING_SOURCES
18+
Backtrace.swift
19+
BacktraceFormatter.swift
20+
Context.swift
21+
CoreSymbolication.swift
22+
FramePointerUnwinder.swift
23+
MemoryReader.swift
24+
Registers.swift
25+
SymbolicatedBacktrace.swift
26+
Utils.swift
27+
28+
get-cpu-context.S
29+
)
30+
31+
add_swift_target_library(swift_Backtracing ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB
32+
${BACKTRACING_SOURCES}
33+
34+
SWIFT_MODULE_DEPENDS_IOS Darwin _Concurrency
35+
SWIFT_MODULE_DEPENDS_OSX Darwin _Concurrency
36+
SWIFT_MODULE_DEPENDS_TVOS Darwin _Concurrency
37+
SWIFT_MODULE_DEPENDS_WATCHOS Darwin _Concurrency
38+
SWIFT_MODULE_DEPENDS_MACCATALYST Darwin _Concurrency
39+
SWIFT_MODULE_DEPENDS_LINUX Glibc _Concurrency
40+
SWIFT_MODULE_DEPENDS_WINDOWS CRT _Concurrency
41+
42+
LINK_LIBRARIES ${swift_backtracing_link_libraries}
43+
44+
SWIFT_COMPILE_FLAGS
45+
${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
46+
-parse-stdlib
47+
48+
LINK_FLAGS
49+
${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}
50+
51+
INSTALL_IN_COMPONENT stdlib
52+
MACCATALYST_BUILD_FLAVOR "zippered"
53+
)

0 commit comments

Comments
 (0)