From 421bf535b7e104d9e684cfefd5062d5c7fbf6070 Mon Sep 17 00:00:00 2001 From: sayantn Date: Mon, 21 Apr 2025 02:04:26 +0530 Subject: [PATCH] Augment `stdarch-test` to parse PPC - Remove some unused env variables from `run.sh` --- library/stdarch/ci/run-docker.sh | 2 -- library/stdarch/crates/stdarch-test/src/disassembly.rs | 2 +- library/stdarch/crates/stdarch-test/src/lib.rs | 7 ++++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/library/stdarch/ci/run-docker.sh b/library/stdarch/ci/run-docker.sh index bfba70b84f54..183daf666cb7 100755 --- a/library/stdarch/ci/run-docker.sh +++ b/library/stdarch/ci/run-docker.sh @@ -23,12 +23,10 @@ run() { --env CARGO_TARGET_DIR=/checkout/target \ --env TARGET="${1}" \ --env STDARCH_TEST_EVERYTHING \ - --env STDARCH_ASSERT_INSTR_IGNORE \ --env STDARCH_DISABLE_ASSERT_INSTR \ --env NOSTD \ --env NORUN \ --env RUSTFLAGS \ - --env STDARCH_TEST_NORUN \ --volume "${HOME}/.cargo":/cargo \ --volume "$(rustc --print sysroot)":/rust:ro \ --volume "$(pwd)":/checkout:ro \ diff --git a/library/stdarch/crates/stdarch-test/src/disassembly.rs b/library/stdarch/crates/stdarch-test/src/disassembly.rs index 802b2c2ba9db..49043eea80b0 100644 --- a/library/stdarch/crates/stdarch-test/src/disassembly.rs +++ b/library/stdarch/crates/stdarch-test/src/disassembly.rs @@ -29,7 +29,7 @@ fn normalize(mut symbol: &str) -> String { // Normalize to no leading underscore to handle platforms that may // inject extra ones in symbol names. - while symbol.starts_with('_') { + while symbol.starts_with('_') || symbol.starts_with('.') { symbol.remove(0); } // Windows/x86 has a suffix such as @@4. diff --git a/library/stdarch/crates/stdarch-test/src/lib.rs b/library/stdarch/crates/stdarch-test/src/lib.rs index e5ce79b1dcef..827a402e3a0a 100644 --- a/library/stdarch/crates/stdarch-test/src/lib.rs +++ b/library/stdarch/crates/stdarch-test/src/lib.rs @@ -104,7 +104,12 @@ pub fn assert(shim_addr: usize, fnname: &str, expected: &str) { // failed inlining something. s[0].starts_with("call ") && s[1].starts_with("pop") // FIXME: original logic but does not match comment }) - } else if cfg!(any(target_arch = "aarch64", target_arch = "arm64ec")) { + } else if cfg!(any( + target_arch = "aarch64", + target_arch = "arm64ec", + target_arch = "powerpc", + target_arch = "powerpc64" + )) { instrs.iter().any(|s| s.starts_with("bl ")) } else { // FIXME: Add detection for other archs