* Implement emitting Windows unwind information for fastcall functions. This commit implements emitting Windows unwind information for x64 fastcall calling convention functions. The unwind information can be used to construct a Windows function table at runtime for JIT'd code, enabling stack walking and unwinding by the operating system. * Address code review feedback. This commit addresses code review feedback: * Remove unnecessary unsafe code. * Emit the unwind information always as little endian. * Fix comments. A dependency from cranelift-codegen to the byteorder crate was added. The byteorder crate is a no-dependencies crate with a reasonable abstraction for writing binary data for a specific endianness. * Address code review feedback. * Disable default features for the `byteorder` crate. * Add a comment regarding the Windows ABI unwind code numerical values. * Panic if we encounter a Windows function with a prologue greater than 256 bytes in size.
27 lines
942 B
TOML
27 lines
942 B
TOML
[package]
|
|
name = "cranelift-filetests"
|
|
authors = ["The Cranelift Project Developers"]
|
|
version = "0.47.0"
|
|
description = "Test driver and implementations of the filetest commands"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
documentation = "https://cranelift.readthedocs.io/en/latest/testing.html#file-tests"
|
|
repository = "https://github.com/CraneStation/cranelift"
|
|
publish = false
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
cranelift-codegen = { path = "../cranelift-codegen", version = "0.47.0", features = ["testing_hooks"] }
|
|
cranelift-native = { path = "../cranelift-native", version = "0.47.0" }
|
|
cranelift-reader = { path = "../cranelift-reader", version = "0.47.0" }
|
|
cranelift-preopt = { path = "../cranelift-preopt", version = "0.47.0" }
|
|
file-per-thread-logger = "0.1.2"
|
|
filecheck = "0.4.0"
|
|
log = "0.4.6"
|
|
memmap = "0.7.0"
|
|
num_cpus = "1.8.0"
|
|
region = "2.1.2"
|
|
byteorder = { version = "1.3.2", default-features = false }
|
|
|
|
[features]
|
|
basic-blocks = []
|