Files
swift-mirror/test/Backtracing/DwarfReader.swift
Ian Anderson 288f37b2c1 [Concurrency] [shims] Don't declare exit in the concurrency shims
Don't delete the OS declaration of `exit` because the concurrency shims aren't always imported, and so the shim declaration might not always be available.
Don't override the OS declaration of `exit` in the concurrency shims since we can't just delete the OS one. Instead, set up internal shims just for building Concurrency that forward declares `exit`.
2024-01-29 16:25:46 -08:00

37 lines
869 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 _Backtracing
#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)
}
}
}