Files
wasmtime/cranelift/filetests/Cargo.toml
Peter Huene 8923bac7e8 Implement emitting Windows unwind information for fastcall functions. (#1155)
* 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.
2019-11-05 13:14:30 -08:00

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 = []