// Both GCC and Clang write by default a `.comment` section with compiler information. // Rustc received a similar .comment section, so this tests checks that this section // properly appears. // See https://github.com/rust-lang/rust/commit/74b8d324eb77a8f337b35dc68ac91b0c2c06debc //@ only-linux // FIXME(jieyouxu): check cross-compile setup //@ ignore-cross-compile use run_make_support::{cwd, env_var, llvm_readobj, rfs, rustc}; fn main() { let target = env_var("TARGET"); rustc() .arg("-") .stdin_buf("fn main() {}") .emit("link,obj") .arg("-Csave-temps") .target(target) .run(); // Check linked output has a `.comment` section with the expected content. llvm_readobj() .section(".comment") .input("rust_out") .run() .assert_stdout_contains("rustc version 1."); // Check all object files (including temporary outputs) have a `.comment` // section with the expected content. rfs::read_dir_entries(cwd(), |f| { if !f.extension().is_some_and(|ext| ext == "o") { return; } llvm_readobj() .section(".comment") .input(&f) .run() .assert_stdout_contains("rustc version 1."); }); }