mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Move the backtracing code into a new Runtime module. This means renaming the Swift Runtime's CMake target because otherwise there will be a name clash. rdar://124913332
37 lines
864 B
Swift
37 lines
864 B
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: %target-build-swift %S/Inputs/Inlining.swift -parse-as-library -g -o %t/Inlining
|
|
// RUN: %target-build-swift %s -parse-as-library -g -o %t/DwarfReader
|
|
// RUN: %target-run %t/DwarfReader %t/Inlining | %FileCheck %s
|
|
|
|
// REQUIRES: OS=linux-gnu
|
|
// REQUIRES: backtracing
|
|
|
|
@_spi(DwarfTest) import Runtime
|
|
#if canImport(Darwin)
|
|
import Darwin
|
|
#elseif canImport(SwiftWASILibc)
|
|
import SwiftWASILibc
|
|
#elseif canImport(ucrt)
|
|
import ucrt
|
|
#elseif canImport(SwiftGlibc)
|
|
import SwiftGlibc
|
|
#endif
|
|
|
|
@main
|
|
struct DwarfReader {
|
|
static func main() {
|
|
if CommandLine.argc != 2 {
|
|
print("usage: DwarfReader <path-to-binary>")
|
|
return
|
|
}
|
|
|
|
// CHECK: {{.*}}/Inlining is a {{32|64}}-bit ELF image
|
|
// CHECK: Units:
|
|
// CHECK: Call Sites:
|
|
|
|
if !testDwarfReaderFor(path: CommandLine.arguments[1]) {
|
|
exit(1)
|
|
}
|
|
}
|
|
}
|