This commit is contained in:
bjorn3 2019-06-11 16:57:59 +02:00
parent aa48c1482a
commit 07bb89a02d
4 changed files with 19 additions and 14 deletions

20
Cargo.lock generated
View file

@ -171,7 +171,7 @@ source = "git+https://github.com/CraneStation/cranelift.git#f3f7cadd0157d06089c9
dependencies = [
"cranelift-codegen 0.30.0 (git+https://github.com/CraneStation/cranelift.git)",
"cranelift-module 0.30.0 (git+https://github.com/CraneStation/cranelift.git)",
"faerie 0.10.0",
"faerie 0.10.0 (git+https://github.com/m4b/faerie.git)",
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"goblin 0.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
"target-lexicon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -273,6 +273,7 @@ dependencies = [
[[package]]
name = "faerie"
version = "0.10.0"
source = "git+https://github.com/m4b/faerie.git#f6ce890950950d9ee85b7cb5de5fff9c9291f194"
dependencies = [
"env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@ -357,7 +358,7 @@ dependencies = [
[[package]]
name = "goblin"
version = "0.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
source = "git+https://github.com/m4b/goblin?rev=f34cf128fb4d1f3c93e5cf129cf673c9d787217b#f34cf128fb4d1f3c93e5cf129cf673c9d787217b"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@ -462,11 +463,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "object"
version = "0.12.0"
source = "git+https://github.com/gimli-rs/object.git#aced06a20eb59867c88e23c03e15613ffd582618"
dependencies = [
"flate2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"goblin 0.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
"goblin 0.0.22 (git+https://github.com/m4b/goblin?rev=f34cf128fb4d1f3c93e5cf129cf673c9d787217b)",
"parity-wasm 0.38.0 (registry+https://github.com/rust-lang/crates.io-index)",
"scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"target-lexicon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -474,9 +477,6 @@ dependencies = [
name = "parity-wasm"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "plain"
@ -686,11 +686,11 @@ dependencies = [
"cranelift-faerie 0.30.0 (git+https://github.com/CraneStation/cranelift.git)",
"cranelift-module 0.30.0 (git+https://github.com/CraneStation/cranelift.git)",
"cranelift-simplejit 0.30.0 (git+https://github.com/CraneStation/cranelift.git)",
"faerie 0.10.0",
"faerie 0.10.0 (git+https://github.com/m4b/faerie.git)",
"gimli 0.18.0 (git+https://github.com/gimli-rs/gimli.git)",
"indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
"object 0.12.0",
"object 0.12.0 (git+https://github.com/gimli-rs/object.git)",
"target-lexicon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"tempfile 3.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -975,6 +975,7 @@ dependencies = [
"checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a"
"checksum errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2a071601ed01b988f896ab14b95e67335d1eeb50190932a1320f7fe3cadc84e"
"checksum errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067"
"checksum faerie 0.10.0 (git+https://github.com/m4b/faerie.git)" = "<none>"
"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
"checksum fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
@ -983,7 +984,7 @@ dependencies = [
"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
"checksum gimli 0.18.0 (git+https://github.com/gimli-rs/gimli.git)" = "<none>"
"checksum goblin 0.0.21 (registry+https://github.com/rust-lang/crates.io-index)" = "6a4013e9182f2345c6b7829b9ef6e670bce0dfca12c6f974457ed2160c2c7fe9"
"checksum goblin 0.0.22 (registry+https://github.com/rust-lang/crates.io-index)" = "7f55d53401eb2fd30afd025c570b1946b6966344acf21b42e31286f3bf89e6a8"
"checksum goblin 0.0.22 (git+https://github.com/m4b/goblin?rev=f34cf128fb4d1f3c93e5cf129cf673c9d787217b)" = "<none>"
"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
@ -998,6 +999,7 @@ dependencies = [
"checksum miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fe927a42e3807ef71defb191dc87d4e24479b221e67015fe38ae2b7b447bab"
"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
"checksum object 0.12.0 (git+https://github.com/gimli-rs/object.git)" = "<none>"
"checksum parity-wasm 0.38.0 (registry+https://github.com/rust-lang/crates.io-index)" = "20d7e522a7f994cc4ae32970b1ce0d99ecf91b8e1df080517a26faa6d2e2ee62"
"checksum plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"

View file

@ -41,8 +41,8 @@ object = "0.12.0"
cranelift-simplejit = { git = "https://github.com/CraneStation/cranelift.git" }
[patch.crates-io]
faerie = { path = "../faerie" }
object = { path = "../object" }
faerie = { git = "https://github.com/m4b/faerie.git" }
object = { git = "https://github.com/gimli-rs/object.git" }
[profile.dev.overrides."*"]
opt-level = 3

View file

@ -93,7 +93,12 @@ pub fn write_metadata<'a, 'gcx>(
artifact.declare(".rustc", faerie::Decl::section(faerie::SectionKind::Data)).unwrap();
artifact.define_with_symbols(".rustc", compressed, {
let mut map = std::collections::BTreeMap::new();
map.insert(rustc::middle::exported_symbols::metadata_symbol_name(tcx), 0);
// FIXME implement faerie elf backend section custom symbols
// For MachO this is necessary to prevent the linker from throwing away the .rustc section,
// but for ELF it isn't.
if tcx.sess.target.target.options.is_like_osx {
map.insert(rustc::middle::exported_symbols::metadata_symbol_name(tcx), 0);
}
map
}).unwrap();

View file

@ -7,8 +7,6 @@ mkdir -p target/out/clif
echo "[BUILD] mini_core"
$RUSTC example/mini_core.rs --crate-name mini_core --crate-type dylib -Csave-temps
objdump -section-headers target/out/libmini_core.dylib
echo "[BUILD] example"
$RUSTC example/example.rs --crate-type lib