It lives! Thanks to the cranelift team.

This commit is contained in:
2023-01-12 09:02:42 -08:00
parent a64983257c
commit cd3247ac9f
5 changed files with 20 additions and 7 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,5 @@
/target /target
Cargo.lock Cargo.lock
**/*.o **/*.o
test
*.dSYM

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "vendor/wasmtime"]
path = vendor/wasmtime
url = https://github.com/bytecodealliance/wasmtime

View File

@@ -16,11 +16,11 @@ path = "src/bin.rs"
clap = { version = "^3.0.14", features = ["derive"] } clap = { version = "^3.0.14", features = ["derive"] }
codespan = "0.11.1" codespan = "0.11.1"
codespan-reporting = "0.11.1" codespan-reporting = "0.11.1"
cranelift-codegen = "^0.89.2" cranelift-codegen = { path = "vendor/wasmtime/cranelift/codegen" }
cranelift-frontend = "^0.89.2" cranelift-frontend = { path = "vendor/wasmtime/cranelift/frontend" }
cranelift-module = "^0.89.2" cranelift-module = { path = "vendor/wasmtime/cranelift/module" }
cranelift-native = "^0.89.2" cranelift-native = { path = "vendor/wasmtime/cranelift/native" }
cranelift-object = "^0.89.2" cranelift-object = { path = "vendor/wasmtime/cranelift/object" }
internment = { version = "0.7.0", default-features = false, features = ["arc"] } internment = { version = "0.7.0", default-features = false, features = ["arc"] }
lalrpop-util = "^0.19.7" lalrpop-util = "^0.19.7"
lazy_static = "^1.4.0" lazy_static = "^1.4.0"

View File

@@ -3,6 +3,7 @@ use codespan_reporting::diagnostic::Diagnostic;
use codespan_reporting::files::SimpleFiles; use codespan_reporting::files::SimpleFiles;
use codespan_reporting::term; use codespan_reporting::term;
use codespan_reporting::term::termcolor::{ColorChoice, StandardStream}; use codespan_reporting::term::termcolor::{ColorChoice, StandardStream};
use cranelift_codegen::settings::{Configurable, SetError};
use cranelift_codegen::{isa, settings, CodegenError}; use cranelift_codegen::{isa, settings, CodegenError};
use cranelift_module::{default_libcall_names, ModuleError}; use cranelift_module::{default_libcall_names, ModuleError};
use cranelift_object::{object, ObjectBuilder, ObjectModule}; use cranelift_object::{object, ObjectBuilder, ObjectModule};
@@ -44,6 +45,9 @@ enum MainError {
#[error(transparent)] #[error(transparent)]
Backend(#[from] BackendError), Backend(#[from] BackendError),
#[error(transparent)]
SettingsError(#[from] SetError),
} }
fn main() -> Result<(), MainError> { fn main() -> Result<(), MainError> {
@@ -92,7 +96,10 @@ fn main() -> Result<(), MainError> {
.unwrap(); .unwrap();
let platform = Triple::host(); let platform = Triple::host();
let isa = isa::lookup(platform.clone())?.finish(settings::Flags::new(settings::builder()))?; let isa_builder= isa::lookup(platform.clone())?;
let mut settings_builder = settings::builder();
settings_builder.set("is_pic", "true")?;
let isa = isa_builder.finish(settings::Flags::new(settings_builder))?;
let object_builder = ObjectBuilder::new(isa, "example", default_libcall_names())?; let object_builder = ObjectBuilder::new(isa, "example", default_libcall_names())?;
let mut object_module = ObjectModule::new(object_builder); let mut object_module = ObjectModule::new(object_builder);
let rtfuns = RuntimeFunctions::new(&platform, &mut object_module)?; let rtfuns = RuntimeFunctions::new(&platform, &mut object_module)?;

1
vendor/wasmtime vendored Submodule

Submodule vendor/wasmtime added at b485e86f5c