about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Maurer <mmaurer@google.com>2025-01-03 22:21:39 +0000
committerMatthew Maurer <mmaurer@google.com>2025-01-03 22:21:39 +0000
commitcf679e428136f7992e8c110b32365a0e0057154e (patch)
tree55a814c124a01e298f13850bc575428641f7f1c5
parent6c8347b9588a302afebb81a1ae6daa64ec37abd0 (diff)
downloadrust-cf679e428136f7992e8c110b32365a0e0057154e.tar.gz
rust-cf679e428136f7992e8c110b32365a0e0057154e.zip
Force code generation in assembly generation smoke-tests
In llvm/llvm-project@7b23f413d1f76532825e470b523e971818d453ca , `.text`
started being suppressed from LLVM assembly in cases where it wasn't
strictly necessary. Currently, the sample functions in these two tests
are frequently decided to be IR-only functions, resulting in no code
generation, so LLVM drops the `.text` directive.

Adding `#[no_mangle]` forces these tests back to their original intent -
assembly code is generated, and so a `.text` directive is generated as
well.
-rw-r--r--tests/assembly/targets/targets-elf.rs2
-rw-r--r--tests/assembly/targets/targets-macho.rs2
2 files changed, 4 insertions, 0 deletions
diff --git a/tests/assembly/targets/targets-elf.rs b/tests/assembly/targets/targets-elf.rs
index 7d50647bed1..59d27ed649c 100644
--- a/tests/assembly/targets/targets-elf.rs
+++ b/tests/assembly/targets/targets-elf.rs
@@ -676,6 +676,8 @@
 #[lang = "sized"]
 trait Sized {}
 
+// Force linkage to ensure code is actually generated
+#[no_mangle]
 pub fn test() -> u8 {
     42
 }
diff --git a/tests/assembly/targets/targets-macho.rs b/tests/assembly/targets/targets-macho.rs
index 8095ae9029b..25e9059afeb 100644
--- a/tests/assembly/targets/targets-macho.rs
+++ b/tests/assembly/targets/targets-macho.rs
@@ -83,6 +83,8 @@
 #[lang = "sized"]
 trait Sized {}
 
+// Force linkage to ensure code is actually generated
+#[no_mangle]
 pub fn test() -> u8 {
     42
 }