about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorOneirical <manchot@videotron.ca>2024-06-13 16:10:49 -0400
committerOneirical <manchot@videotron.ca>2024-06-14 10:02:39 -0400
commitff82e43ca3dfc91e85c15070f836ca9cd692a476 (patch)
treec62b36facacbdbb99b6450143b810ebdbb0fa9d2 /src
parentf9515fdd5aa132e27d9b580a35b27f4b453251c1 (diff)
downloadrust-ff82e43ca3dfc91e85c15070f836ca9cd692a476.tar.gz
rust-ff82e43ca3dfc91e85c15070f836ca9cd692a476.zip
rewrite and rename issue-64153 to rmake.rs
Diffstat (limited to 'src')
-rw-r--r--src/tools/run-make-support/src/lib.rs3
-rw-r--r--src/tools/run-make-support/src/llvm.rs30
-rw-r--r--src/tools/run-make-support/src/llvm_readobj.rs45
3 files changed, 32 insertions, 46 deletions
diff --git a/src/tools/run-make-support/src/lib.rs b/src/tools/run-make-support/src/lib.rs
index ba4524c150c..2397fa767d8 100644
--- a/src/tools/run-make-support/src/lib.rs
+++ b/src/tools/run-make-support/src/lib.rs
@@ -30,7 +30,8 @@ pub use cc::{cc, extra_c_flags, extra_cxx_flags, Cc};
 pub use clang::{clang, Clang};
 pub use diff::{diff, Diff};
 pub use llvm::{
-    llvm_filecheck, llvm_profdata, llvm_readobj, LlvmFilecheck, LlvmProfdata, LlvmReadobj,
+    llvm_filecheck, llvm_objdump, llvm_profdata, llvm_readobj, LlvmFilecheck, LlvmObjdump,
+    LlvmProfdata, LlvmReadobj,
 };
 pub use run::{cmd, run, run_fail, run_with_args};
 pub use rustc::{aux_build, rustc, Rustc};
diff --git a/src/tools/run-make-support/src/llvm.rs b/src/tools/run-make-support/src/llvm.rs
index 414251abda2..d9eb25eec84 100644
--- a/src/tools/run-make-support/src/llvm.rs
+++ b/src/tools/run-make-support/src/llvm.rs
@@ -20,6 +20,12 @@ pub fn llvm_filecheck() -> LlvmFilecheck {
     LlvmFilecheck::new()
 }
 
+/// Construct a new `llvm-objdump` invocation. This assumes that `llvm-objdump` is available
+/// at `$LLVM_BIN_DIR/llvm-objdump`.
+pub fn llvm_objdump() -> LlvmObjdump {
+    LlvmObjdump::new()
+}
+
 /// A `llvm-readobj` invocation builder.
 #[derive(Debug)]
 #[must_use]
@@ -41,9 +47,17 @@ pub struct LlvmFilecheck {
     cmd: Command,
 }
 
+/// A `llvm-objdump` invocation builder.
+#[derive(Debug)]
+#[must_use]
+pub struct LlvmObjdump {
+    cmd: Command,
+}
+
 crate::impl_common_helpers!(LlvmReadobj);
 crate::impl_common_helpers!(LlvmProfdata);
 crate::impl_common_helpers!(LlvmFilecheck);
+crate::impl_common_helpers!(LlvmObjdump);
 
 /// Generate the path to the bin directory of LLVM.
 #[must_use]
@@ -125,3 +139,19 @@ impl LlvmFilecheck {
         self
     }
 }
+
+impl LlvmObjdump {
+    /// Construct a new `llvm-objdump` invocation. This assumes that `llvm-objdump` is available
+    /// at `$LLVM_BIN_DIR/llvm-objdump`.
+    pub fn new() -> Self {
+        let llvm_objdump = llvm_bin_dir().join("llvm-objdump");
+        let cmd = Command::new(llvm_objdump);
+        Self { cmd }
+    }
+
+    /// Provide an input file.
+    pub fn input<P: AsRef<Path>>(&mut self, path: P) -> &mut Self {
+        self.cmd.arg(path.as_ref());
+        self
+    }
+}
diff --git a/src/tools/run-make-support/src/llvm_readobj.rs b/src/tools/run-make-support/src/llvm_readobj.rs
deleted file mode 100644
index 3c719356e8f..00000000000
--- a/src/tools/run-make-support/src/llvm_readobj.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-use std::path::{Path, PathBuf};
-
-use crate::command::Command;
-use crate::env_var;
-
-/// Construct a new `llvm-readobj` invocation. This assumes that `llvm-readobj` is available
-/// at `$LLVM_BIN_DIR/llvm-readobj`.
-#[track_caller]
-pub fn llvm_readobj() -> LlvmReadobj {
-    LlvmReadobj::new()
-}
-
-/// A `llvm-readobj` invocation builder.
-#[derive(Debug)]
-#[must_use]
-pub struct LlvmReadobj {
-    cmd: Command,
-}
-
-crate::impl_common_helpers!(LlvmReadobj);
-
-impl LlvmReadobj {
-    /// Construct a new `llvm-readobj` invocation. This assumes that `llvm-readobj` is available
-    /// at `$LLVM_BIN_DIR/llvm-readobj`.
-    #[track_caller]
-    pub fn new() -> Self {
-        let llvm_bin_dir = env_var("LLVM_BIN_DIR");
-        let llvm_bin_dir = PathBuf::from(llvm_bin_dir);
-        let llvm_readobj = llvm_bin_dir.join("llvm-readobj");
-        let cmd = Command::new(llvm_readobj);
-        Self { cmd }
-    }
-
-    /// Provide an input file.
-    pub fn input<P: AsRef<Path>>(&mut self, path: P) -> &mut Self {
-        self.cmd.arg(path.as_ref());
-        self
-    }
-
-    /// Pass `--file-header` to display file headers.
-    pub fn file_header(&mut self) -> &mut Self {
-        self.cmd.arg("--file-header");
-        self
-    }
-}