summaryrefslogtreecommitdiffstats
path: root/tests/run-make-fulldeps/reproducible-build/linker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make-fulldeps/reproducible-build/linker.rs')
-rw-r--r--tests/run-make-fulldeps/reproducible-build/linker.rs50
1 files changed, 0 insertions, 50 deletions
diff --git a/tests/run-make-fulldeps/reproducible-build/linker.rs b/tests/run-make-fulldeps/reproducible-build/linker.rs
deleted file mode 100644
index 3dda6f190..000000000
--- a/tests/run-make-fulldeps/reproducible-build/linker.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-use std::env;
-use std::path::Path;
-use std::fs::File;
-use std::io::{Read, Write};
-
-fn main() {
- let mut dst = env::current_exe().unwrap();
- dst.pop();
- dst.push("linker-arguments1");
- if dst.exists() {
- dst.pop();
- dst.push("linker-arguments2");
- assert!(!dst.exists());
- }
-
- let mut out = String::new();
- for arg in env::args().skip(1) {
- let path = Path::new(&arg);
- if !path.is_file() {
- out.push_str(&arg);
- out.push_str("\n");
- continue
- }
-
- let mut contents = Vec::new();
- File::open(path).unwrap().read_to_end(&mut contents).unwrap();
-
- // This file is produced during linking in a temporary directory.
- let arg = if arg.ends_with("/symbols.o") || arg.ends_with("\\symbols.o") {
- "symbols.o"
- } else {
- &*arg
- };
- out.push_str(&format!("{}: {}\n", arg, hash(&contents)));
- }
-
- File::create(dst).unwrap().write_all(out.as_bytes()).unwrap();
-}
-
-// fnv hash for now
-fn hash(contents: &[u8]) -> u64 {
- let mut hash = 0xcbf29ce484222325;
-
- for byte in contents {
- hash = hash ^ (*byte as u64);
- hash = hash.wrapping_mul(0x100000001b3);
- }
-
- hash
-}