about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc/src/asm.rs
diff options
context:
space:
mode:
authorFolkert <folkert@folkertdev.nl>2024-08-08 10:20:40 +0200
committerFolkert de Vries <folkert@folkertdev.nl>2024-12-10 21:41:03 +0100
commitbd8f8e063195d17ed7ddfd0895b9f235a90ab8f8 (patch)
tree132dd31765bdd53ff11dbc94ad0183fe6f52b805 /compiler/rustc_codegen_gcc/src/asm.rs
parent9c707a8b769523bb6768bf58e74fa2c39cc24844 (diff)
downloadrust-bd8f8e063195d17ed7ddfd0895b9f235a90ab8f8.tar.gz
rust-bd8f8e063195d17ed7ddfd0895b9f235a90ab8f8.zip
codegen `#[naked]` functions using `global_asm!`
Diffstat (limited to 'compiler/rustc_codegen_gcc/src/asm.rs')
-rw-r--r--compiler/rustc_codegen_gcc/src/asm.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_gcc/src/asm.rs b/compiler/rustc_codegen_gcc/src/asm.rs
index a1f9eab10e7..415f8affab9 100644
--- a/compiler/rustc_codegen_gcc/src/asm.rs
+++ b/compiler/rustc_codegen_gcc/src/asm.rs
@@ -867,6 +867,13 @@ impl<'gcc, 'tcx> AsmCodegenMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
         template_str.push_str("\n.popsection");
         self.context.add_top_level_asm(None, &template_str);
     }
+
+    fn mangled_name(&self, instance: Instance<'tcx>) -> String {
+        // TODO(@Amanieu): Additional mangling is needed on
+        // some targets to add a leading underscore (Mach-O)
+        // or byte count suffixes (x86 Windows).
+        self.tcx.symbol_name(instance).name.to_string()
+    }
 }
 
 fn modifier_to_gcc(