about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-02-20 00:37:26 +0100
committerGitHub <noreply@github.com>2022-02-20 00:37:26 +0100
commit1771b98a69b0b8d142507cce4b32db404950add6 (patch)
treefa6a715fda81721f8be2eb52cdad84425d4d07ce
parent6b69121d0d10578922bdb22788293319483b109c (diff)
parent0647e3890435b387f7815e0e9bfb1786e1787d9f (diff)
downloadrust-1771b98a69b0b8d142507cce4b32db404950add6.tar.gz
rust-1771b98a69b0b8d142507cce4b32db404950add6.zip
Rollup merge of #94023 - krasimirgg:head-llvm-use-llvm-nm, r=Mark-Simulacrum
adapt static-nobundle test to use llvm-nm

No functional changes intended.

This updates the test case to use llvm-nm instead of the system nm.
This fixes an instance over at the experimental build of rustc with HEAD LLVM:
https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/8380#ef6f41b5-8595-49a6-be37-0eff80e0ccb5
It is related to https://github.com/rust-lang/rust/pull/94001.

The issue is that this test uses the system nm, which may not be recent
enough to understand the update to uwtable. This replaces the test to
use the llvm-nm that should be recent enough (consistent with the LLVM
sources we use to build rustc).
-rw-r--r--src/bootstrap/dist.rs1
-rw-r--r--src/test/run-make-fulldeps/static-nobundle/Makefile6
2 files changed, 5 insertions, 2 deletions
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index 029049d5434..8693e85e474 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -2056,6 +2056,7 @@ impl Step for RustDev {
             "llvm-bcanalyzer",
             "llvm-cov",
             "llvm-dwp",
+            "llvm-nm",
         ] {
             tarball.add_file(src_bindir.join(exe(bin, target)), "bin", 0o755);
         }
diff --git a/src/test/run-make-fulldeps/static-nobundle/Makefile b/src/test/run-make-fulldeps/static-nobundle/Makefile
index 8f78c401a11..001081798a6 100644
--- a/src/test/run-make-fulldeps/static-nobundle/Makefile
+++ b/src/test/run-make-fulldeps/static-nobundle/Makefile
@@ -9,8 +9,10 @@ all: $(call NATIVE_STATICLIB,aaa)
 	$(RUSTC) bbb.rs --crate-type=rlib
 
 	# Check that bbb does NOT contain the definition of `native_func`
-	nm $(TMPDIR)/libbbb.rlib | $(CGREP) -ve "T _*native_func"
-	nm $(TMPDIR)/libbbb.rlib | $(CGREP) -e "U _*native_func"
+	# We're using the llvm-nm instead of the system nm to ensure it
+	# is compatible with the LLVM bitcode generated by rustc.
+	"$(LLVM_BIN_DIR)/llvm-nm" $(TMPDIR)/libbbb.rlib | $(CGREP) -ve "T _*native_func"
+	"$(LLVM_BIN_DIR)/llvm-nm" $(TMPDIR)/libbbb.rlib | $(CGREP) -e "U _*native_func"
 
 	# Check that aaa gets linked (either as `-l aaa` or `aaa.lib`) when building ccc.
 	$(RUSTC) ccc.rs -C prefer-dynamic --crate-type=dylib --print link-args | $(CGREP) -e '-l[" ]*aaa|aaa\.lib'